- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选择排序法SelectionSort(int arr[],int n) .doc
选择排序法SelectionSort(int arr[],int n) template typename T void SelectionSort(T arr[],int n) { int smallIndex;?? //表中最小元素的下标 int pass,j;?????? //用来扫描子表的下标 T temp;?????????? //用来交换表元素的临时变量 //pass的范围是0~n-2 for (pass=0;passn-1;pass++) { //从下标pass开始扫描子表 smallIndex=pass; //j遍历整个子表arr[pass+1]到arr[n-1] for(j=pass+1;jn;j++) //如果找到更小的元素,则将该位置赋值给smallIndex if(arr[j]arr[smallIndex]) smallIndex=j; //如果smallIndex和pass不在相同的位置 //则将子表中的最小项与arr[pass]交换 if(smallIndex!=pass) { temp=arr[pass]; arr[pass]=arr[smallIndex]; arr[smallIndex]=temp; } } } /************************************************************************ 双端选择排序算法:是上面选择排序算法的变种,可以定位每个子表中最小和最大元素 并把它们分别放在子表的开头和结尾. ************************************************************************/ //双端选择排序算法函数deSelSort()的实现
template typename T void deSelSort(T arr[],int n) { int smallIndex,largeIndex;? //表中最小及最大元素的下标 int leftPass=0,rightPass=n-1,i,j;???? //用来从表左边及右边扫描子表的下标 T temp;??????????????????????? //用于交换元素的临时变量 while (leftPass=rightPass) { //从左边及右边开始扫描子表 smallIndex=leftPass; largeIndex=rightPass; //j和i遍历整个子表arr[LeftPass]~arr[rightPass] for (i=leftPass+1;irightPass;i++) //如果找到更小的元素,则将该位置赋值给smallIndex if (arr[i]arr[smallIndex]) smallIndex=i; //如果smallIndex和leftPass不在相同的位置 //则将子表中的最小项与arr[pass]交换 if (smallIndex!=leftPass) { temp=arr[leftPass]; arr[leftPass]=arr[smallIndex]; arr[smallIndex]=temp; } for (j=rightPass-1;jleftPass;j--) if(arr[j]arr[largeIndex]) largeIndex=j; if(largeIndex!=rightPass) { temp=arr[rightPass]; arr[rightPass]=arr[largeIndex]; arr[largeIndex]=temp; } //从两头收缩子表 leftPass++; rightPass--; } } //自编冒泡法排序算法函数bubbleSort()的实现
template typename T int bubbleSort(T arr[],int n) { bool exchanged=false; //是否发生交换 int i,j;????????????? //用于遍历子表的下标 T temp;?????????????? //用于交
您可能关注的文档
最近下载
- 2021年河南中考化学真题及答案.doc VIP
- 4.1水资源及其利用(第1课时保护水资源)课件---2024-2025学年九年级化学人教版(2024)上册.pptx VIP
- 华中科技大学大学物理2014-2015期末考试.pdf VIP
- 果树栽培学完整课件各论苹果.ppt VIP
- 连锁酒店行业2025年扩张策略与风险规避报告.docx
- 国企三项制度改革-10、任期制契约化任期业绩目标责任书(总经理).pdf VIP
- 肝衰竭诊治指南(2024年版)解读.pptx
- 住宅物业管理服务规范DB3505T 17—2024.pdf VIP
- 2024辅警面试问题及答案 .pdf VIP
- 副局长意识形态工作总结.docx VIP
文档评论(0)