第9章 数组应用

第9章 数组应用

ID:20599579

大小:327.00 KB

页数:42页

时间:2018-10-14

第9章 数组应用_第1页
第9章 数组应用_第2页
第9章 数组应用_第3页
第9章 数组应用_第4页
第9章 数组应用_第5页
资源描述:

《第9章 数组应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章数组的应用1数组元素的查找数组元素的排序数组元素的插入数组元素的删除9.1数组元素的查找29.1.1无序数组元素的查找例9.1已有宏定义SIZE为100,对数组a中查找是否存在值为20的元素.已知数组:a[SIZE]={10,12,14,16,18,20,13,14,134,59};找到,则输出其元素所在的下标值,并统计次数的个数.如找不到,则输出“此数组中没有此数”.3#include#defineSIZE100voidmain(){inta[SIZE],i,n,m,k=0;printf("请输入数组元素的个数:");scanf("%d",&n);

2、printf("请输入数组元素");for(i=0;i

3、异数据的查找.由于各元素互异,采用遍历查找,已知数组:a[SIZE]={10,12,14,16,18,20,13,14,134,59},查找数组a中是否含元素值为12的元素。Ch9_9_2.c6#include#defineSIZE11voidmain(){inta[SIZE]={10,12,14,16,18,20,13,14,134,59};intx,i=0;printf("输入查找的数:");scanf("%d",&x);a[SIZE-1]=x;while(a[i]!=x)i++;if(i

4、i);elseprintf("此数组无此数");}Ch9_9_2.c条件是:a[i]!=x当找到x后,退出循环.将a[10]赋值为x.7例9.3在有序排列的数组中查找某数,可采用折半查找法,这是效率比较高一种方法,基本思路如下:9.1.2有序数组的查找在表列中查一个数最简单的方法是从第一个数开始查找,一一比较.但这种方法效率低:如果表列中有1000个数,且要找的数刚好在最后一个,那么要比较1000次.平均也要500次.8若输入一个数3,想查3是否在数列中.先找出表列中居中的数,即a[5].将要找的数3与a[5]比较,a[5]>3,显然3在a[1]~a[5]之间,这样就可甩掉

5、a[6]~a[9]这一部分.假设已有按小到大排好的9个数,a[1]~a[9]:a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]1357911131517...其值如下:9再将3与a[1]~a[3]之间的居中数a[2]比较,这时数3刚好等于a[2],查找到此结束.再找a[1]~a[5]之间的居中数,即a[3],将要找的数3与a[3]比较.发现a[3]>3,显然3在a[1]~a[3]之间,这样又可甩掉一半.a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]1357911131517...10例9.3现有降序排列的数组:a[SIZE]={

6、200,153,120,115,100,98,76,70,68,60,-90,-312};要查找值为68的元素,如果找到,输出其下标,否则输出无此数.共12个数据.11#include#defineSIZE12voidmain(){inta[SIZE]={200,153,120,115,100,98,76,70,68,60,-90,-312};intm,found=0;intlow=0,high=SIZE-1,mid;printf("输入查找的数:");scanf("%d",&m);….Ch9_9_3.chighlow现设输入:68found是否查找到的标记.

7、12while((low<=high)&&(found==0)){mid=(low+high)/2;/*确定中间位置*/if(ma[mid])high=mid-1;elsefound=1;}if(found==1)printf("此数组中已找到数%d,它的下标为%d",m,mid);elseprintf("此数组中没有所查找的数");}{200,153,120,115,100,98,76,70,68,60,-90

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。