- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 例13-5:顺序查找 #include iostream #include iomanip using namespace std; ? int SeqSearch(int* array, int n, int key) { //顺序查找模板 for (int i=0; in; i++) if(array[i]==key) return i; return -1; }; ? int main() { int Array[10]={2,12,4,7,13,6,11,78,65,66}; int key= 65; for(int i=0; i10; i++) coutsetw(4)Array[i]; coutendl; coutthe position of the keysetw(4)keyin the array is: SeqSearch(Array,10,key)endl; } * 13.2 群体数据组织——13.2.1顺序查找 运行结果: 2 12 4 7 13 6 11 78 65 66 the position of the key 65 in the array is: 8 例13-5(续) 13.2 群体数据组织——13.2.1顺序查找 * 13.2.2 折半查找 折半查找主要针对有序表,对于已经按关键字进行排序的有序表,首先将要查找的元素的关键字值与当前查找范围内位置居中的元素的关键字值比较,若匹配,则查找成功,给出被查找元素在表中的位置,查找结束;若要查找的元素的关键字值小于位置居中的元素的关键字值,则到当前查找范围的前半部分重复上述查找过程;否则到当前查找范围的后半部分重复上述查找过程直到查找成功或者失败。 * 13.2 群体数据的组织 例13-6: 折半查找的实现 #include iostream #include iomanip using namespace std; ? int Bisearch(int* array, int n, int key){ int mid, low(0), high(n-1); while(lowhigh) { mid=(low+high)/2; if(key==array[mid]) //如果中间元素刚好等于关键字,则 return mid; //返回中间元素下标 else if(keyarray[mid]) //如果大于中间元素则 low=mid+1; //缩小范围,mid+1,到high else high=mid-1; //否则,low到mid-1 } return -1; } * 13.2 群体数据组织——13.2.2折半查找 例13-6(续) int main() { int Array[10]={2,4,6,7,11,12,13,65,66,78}; int key= 66; for(int i=0; i10; i++) coutsetw(4)Array[i]; coutendl; coutthe position of the keysetw(4)keyin the array is: Bisearch(Array,10,65)endl; } * 13.2 群体数据组织——13.2.2折半查找 运行结果: 2 4 6 7 11 12 13 65 66 78 the position of the key 66 in the array is: 7 例13-6(续) 13.2 群体数据组织——13.2.2折半查找 * 13.2.3 插入排序 简单的说,排序就是把一个无序的数据元素序列转换为一个按值有序的数据元素的序列。 插入排序是一种简单的排序方法。 插入排序的基本思想是:一个长度为n的序列,开始认为第一个元素是有序的,从第二个元素起,每一次把一个元素插入到前面已经按值有序的序列中的适当位置,使之仍保持有序,第i次排序就把第i+1个元素插入到前面长度为i的有序子序列中,得到一个长度为i+1的有序序列,重复这个操作,直到把第n个元素插入,,就得到一个完整的有序序列。 * 13.2 群体数据的组织 例13-7:插入排序 #include iostream #include iomanip using namespace std; ? void Insert(i
您可能关注的文档
- C#网络应用编程基础 作者 马骏2 第09章 二维图形图像处理.ppt
- C#网络应用编程基础 作者 马骏2 第11章 网站建设与网页制作.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯1 第4章 P2P应用编程.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯1 第5章 SMTP与POP3应用编程.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯1 第6章 网络数据加密与解密.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯2 第1章 进程、线程与网络协议.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯2 第2章 TCP应用编程.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯2 第3章 UDP应用编程.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯2 第5章 SMTP与POP3应用编程.ppt
- C#应用程序设计教程 第2版 普通高等教育“十一五”国家级规划教材 作者 耿肇英 周真真 耿燚 第1章 C#语言基础.ppt
- C++教程 作者 郑莉 李宁 14_模板简介.ppt
- C++语言基础教程 作者 吕凤翥 1_ 第2章 变量和表达式.ppt
- C++语言基础教程 作者 吕凤翥 1_ 第4章 数 组.ppt
- C++语言基础教程 作者 吕凤翥 1_ 第7章 结构和联合.ppt
- C++语言基础教程 作者 吕凤翥 1_ 第12章 C++语言的.ppt
- C_C++程序设计基础 作者 李凤云 第3章 数据类型.ppt
- C_C++程序设计基础 作者 李凤云 第4章顺序结构程序设计.ppt
- C_C++程序设计基础 作者 李凤云 第6章 循环结构.ppt
- C_C++程序设计基础 作者 李凤云 第7章 数组.ppt
- C_C++程序设计基础 作者 李凤云 第8章 函数.ppt
文档评论(0)