C语言数组排序与折半查找实践报告:20元素数组搜索算法实现

创始人
2024-12-22 18:11:54
0 次浏览
0 评论

c语言先排序后折半查找程序的实验报告

1实验目标:熟悉一维和二维数组的定义、初始化、输入输出方法,熟悉数组相关的常用算法(搜索、排序等)。
2实验:设置一个包含20个元素的整数数组,并在程序中使用直接赋值来初始化该数组。
我们首先对这些无序数据进行排序,然后使用半搜索来打印我们要查找的数字的位置。
3算法描述流程图源程序:#includevoidmain(){intk,s,b,i,j,m,n,a[20]={12,9,16,21,6,11,19,4,8​​,20,15,2,5,18,14,7,3,10,13,17};f或(s=0;s<20 s++){for(i=s+1;i>a[i]){j=a[s];a[s]=a[i];a[i]=j;}}}scanf("%d",&b);m=0;n=19;while(m<=n){k=(m+n)/2;if(b==a[k]){printf("找到\n");printf("%d\n",k+1);break;}else{if(bn)printf("NotFound");}}5测试数据:3,5,20,306执行结果:FOUND2;FOUND19;NOFOUND7问题及解决办法:编译时出错。
修改源程序直至错误消失。
,可以处理数组数据,提高搜索速度。

C语言实验报告

我写了,但不知道效果好不好。
如有错误,请指出。
如果您想要表格,请添加我,我会将其发送给您。
四川大学软件学院学号:姓名:专业:计算机科学与技术学时:5周13课程名称C/C++实验班次2实验项目复制和添加字符串实验时间08.5.16实验目的1.掌握字符串的基本操作数据搭建实验环境了解VC6.0实验内容(算法、流程、步骤、方法)。
首先,我们统计S1和S2中的字符数,在S3中分配空间并使用现有的库函数。
首先将S1复制到S3,然后将S2添加到S3。
标记完成后,需要回收空间并处理善后事宜。
源代码为:#include#includeusingnamespacestd;intmain(){char*s1="abcdef";char*s2="123456f";intn=strlen(s1)+strlen(s2);//计算s1和s2的总长度nchar*s3=newchar[n+1];//定义S3用nstrcpy(s3,s1)分配空间;//将s1复制到s3strcat(s3,s2);//将s2添加到s3cout<<"s3="<结构、算法顺序连接方法数据记录和计算数据包括字符串S1、S2和未知字符串S3,仅需要计算前两者。
字符串长度总和结论(结果)字符数组可用于顺序存储字符数据并顺序处理数据。
算法复杂度为O(n+m)。
总结字符数组可能会带来方便的存储结构,但算法不是很好。
由于数组可以顺序遍历,所以复杂度没那么小。
导师签名:
热门文章
1
Redisson分布式锁深度解析:Red... Redis实现分布式锁+Redisson源码解析在某些场景下,多个进程需要以互斥...

2
深度解析Docker:容器技术提升应用部... docker是什么Docker是一种强大的开源容器技术,它将应用程序及其所有依赖...

3
Docker dockercp命令:容器... Dockercp命令详解:在Docker容器和主机之间复制文件&#47;...

4
Redis KEY模糊查询优化策略及SC... RedisKEY*模糊查询导致交互速度慢、阻塞其他Redis操作在Redis中使...

5
Redisson深度解析:分布式锁实战与... Redis:redis分布式锁实战之redisson在分布式环境中;个体锁不能再...

6
Python float()函数:Web... Pythonfloat(input())的用法,web中的应用float(inp...

7
Java单例模式深入解析及实例代码分享 单例模式单例模式实例在Java中,单例模式确保类只存在一个实例。该模式的主要作用...

8
Docker核心原理解析:深入理解Nam... DOCKER总结Docker是一个开源应用程序容器引擎,允许开发人员将其应用程序...

9
C语言字符串输出技巧:指针与数组首地址的... C语言字符串输出Chara[]="aaaaa";printf...

10
200本Java开发精选书籍免费分享!附... Java开发书籍推荐(200多本)我整理了一份Java开发的邮件资源,一共大概2...