- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
补充自学算法;用简单选择法对10个数排序;;代码提示:
int a[10],i,j,k,t;
//输入10个数存于数组a中(请完善该部分代码)
for(i=0;i9;i++) //10个数要排9趟,每趟确定a[i],即从a[i]到a[n-1]找到最大的数
用k记录其下标,然后a[k]和a[i]交换
{ k=i; //假设当前无序序列第一个数为最大数
for(j=i+1;j10;j++) //从下一个数开始到最后去找
是否有更 大的数
if(a[j]a[k]) k=j; //若有,则把下标记录在k变量中
if(i!=k) //将找到的最大数k下标元素和当前的第一个元素i下标元素交换
{ t=a[i]; a[i]=a[k]; a[k]=t; }
}
//顺序输出各元素值即为有序序列(请完善该部分代码);; 折半查找 有7个数已经按从小到大的顺序存储在数组中,输入一个数,用折半查找法查找这个数是否在数组中,如果在,输出???下标,如果不在,输出0。数组的下标i表示第i个元素,数组的下标0处不存储数。
算法思路:
折半查找又称对分查找,是对有序表进行的一种查找。
其基本思想是:
先确定待查找的数据元素的范围,然后逐步缩小范围直到找到要查找的数据元素或无法找到该元素为止。
具体思路是:
最初待查找的数据元素的范围是整个数组,找到数据元素范围的“中间元素”,将其与待查找的元素x比较,如果当前元素的值与给定值x相等,则查找成功;如果当前元素小于给定值x,则说明被查找数必在前半区间内;反之则在后半区间内。这样把查找区间缩小了一半,继续进行查找。;#include stdio.h /* 预编译命令*/
#define n 7
void main() /* 主函数*/
{ /* 主函数开始*/
int a[n+1]={0}; /* 用a存储这7个数,并初始化*/
int mid; /* 要比较的数的下标*/
int low=1; /* 最小数的下标*/
int high=n; /* 最大数的下标*/
int x; /* 要查找的数*/
int i; /* 循环变量*/
printf(请输入已排序的数组元素的值:\n);
for(i=1;i=n;i++)
{ printf(a[%d]=,i); scanf(%d,a[i]); } ; printf(请输入您要查找的数:);
scanf(%d,x);
while(low = high)
{ mid = (low+high)/2;
if(x==a[mid]) /* 找到待查找元素*/
break;
else if(xa[mid]) /* 继续查找前半区间*/
high=mid-1;
else low =mid+1; /* 继续查找后半区间*/
}
if(x == a[mid])
printf(查找到的位置为:%d\n,mid);
else
printf(查找到的位置为:%d\n,0);
};插入排序法:在一个5个元素的升序排列的数组中,任意输入一个数插入其中,要求保持原来的排列顺序。输出结果。;完整程序如下:
# include stdio.h
void main()
{
int a[10],i,x,p;
printf(Input 5 numbers:); /*5个数按由小到大的顺序输入*/
for(i=0;i5;i++)
scanf(%d,a[i]);
printf(Input insert number:);
scanf(%d,x);
for(p=5,i=0;i5;i++) //p的初值为5,找查找的位置
if(xa[i]) //找到第一个比x大的元素,该位置即为要插入的位置
{ p=i;
break;
}
for(i=4;i=p;i--) //移动数据,空出位置
a[i+1]=a[i];
a[p]=x; //写入待插入的数据
printf(The after insert score:\n);
for(i=0;i6;i++)
printf(%6d,a[i]);
printf(\n);
} ;;PPT模板下载:/moban/ 行业PPT模板:/hangye/
节日P
您可能关注的文档
- (2-18)美好生活的导向.ppt
- (北师大版)六年级数学课件 圆的面积1.ppt
- 001化学——绪言1课时.ppt
- 02平面设计的课件.ppt
- (找规律)生活中的数学.ppt
- (英语)回答问题.ppt
- (班会课)如何提高学习效率.ppt
- 03结缔组织的课件.ppt
- 03 基本曲面的课件.ppt
- 06图集学习的课件.ppt
- 2024浙江衢州市常山县“英才荟”事业单位紧缺急需人才招聘18人笔试备考试题及答案解析.docx
- 2024浙江省近海海洋工程环境与生态安全重点实验室招聘1人笔试备考试题及答案解析.docx
- 2024广东阳江市阳西县补充招聘森林消防应急队员5人笔试备考试题及答案解析.docx
- 2024浙江松阳县新华书店有限公司招聘见习大学生1人笔试备考试题及答案解析.docx
- 2024云南曲靖市马龙区部分事业单位选调(含选调计划)26人笔试备考试题及答案解析.docx
- 2024广西柳州市残疾人劳动就业服务中心招聘残疾人专职委员1人笔试备考试题及答案解析.docx
- 2024广西河池市总工会公开招聘社会化工会工作者3人笔试备考试题及答案解析.docx
- 2024贵州华贵人寿保险股份有限公司第三次社会招聘15人笔试备考试题及答案解析.docx
- 2024广西百色市田东县5月城镇公益性岗位工作人员招聘4人笔试备考试题及答案解析.docx
- 2024广西百色市那坡县坡荷乡人民政府公开招聘编外工作人员2人笔试备考试题及答案解析.docx
文档评论(0)