下载此文档

内部排序算法实现C语言.doc


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
这里将介绍几种常见的内部排序算法,包括:直接插入排序、二分查找插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序。假设待排序的对象是整型数组,排序操作直接在数组上进行。下面直接上代码及相应注释。 ///<summary> ///各种排序算法实现 ///</summary> classInnerSortAlgorithm {///<summary>///直接插入排序算法。///<para>///往已经排好序的序列中插入待排元素,在查找待排元素位置时顺便进行元素移动。///</para>///</summary>///<paramname="iArr">给定待排序数组</param>publicvoidInnerSort_DirectInsert(int[]iArr){intlen=;inttempI;intj;for(inti=1;i<len;i++){tempI=iArr[i];j=i-1;while(j>=0&&iArr[j]>tempI){iArr[j+1]=iArr[j];j--;}iArr[j+1]=tempI;}}///<summary>///二分查找插入排序。///<para>///在已排好序的序列中插入元素,插入位置通过二分查找获得。///</para>///</summary>///<paramname="iArr">给定待排序数组</param>publicvoidInnerSort_BinaryInsert(int[]iArr){intlen=;intpos;inttempI;for(inti=1;i<len;i++){tempI=iArr[i];pos=FindInsertPosition(iArr,i-1,tempI);//查找待插入位置for(intj=i;j>pos;j--){iArr[j]=iArr[j-1];}iArr[pos]=tempI;}}///<summary>///二分查找确定待插入位置。///</summary>///<paramname="iArr">给定数组</param>///<paramname="endPos">已排序序列末尾下标</param>///<paramname="tempI">待插入元素</param>///<returns>返回插入位置</returns>privateintFindInsertPosition(int[]iArr,intendPos,inttempI){intstartPos=0;intmidPos;while(startPos<=endPos){midPos=(startPos+endPos)/2;if(iArr[midPos]>tempI){endPos=midPos-1;}else{startPos=midPos+1;}}returnstartPos;}///<summary>///希尔排序算法。///<para>///分组插入排序,按一定间隔先将序列分成n组,组内进行直接插入排序,再减小间隔直至1,完成排序。///</para>///</summary>///<paramname="iArr">给定待排序数组</param>publicvoidInnerSort_Shell(int[]iArr){i

内部排序算法实现C语言 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wcuxirh
  • 文件大小56 KB
  • 时间2020-07-21
最近更新