欢迎来到天天文库
浏览记录
ID:35383955
大小:74.14 KB
页数:10页
时间:2019-03-24
《浅谈各种排序与查找比较》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈各种排序与查找比较容迎辉K内容扌商要】排序与查找在软件基础中应是学习的重点,对于我们而言排序与查找也是重要的,应该说在生活中也会有用到这些。因排序与查找较多,在此对各种排序与查找进行讲解,并通过对它们的效率分析来比较各种排序与查找的优劣。【关键词】排序查找比较举例一、排序所谓排序,就是要整理文件屮的记录,使之按关键字递增(或递减)次序排列起来。(-)内部排序的主要算法分类及描述1、插入排序(1)直接插入排序算法思想:每次将一个带排序的记录,按其关键字人小插入到前面已经排好序的子文件屮的适当位置,直到全部记录插入完成为止。
2、算法描述:VoidInsertsort(SeqListR){inti,j;for(i=2;i<=n;i++)if(r[i].key3、=32767;for(i=0;i4、:凡扫描到违反本原则的轻气泡,就使其向上“漂浮”。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。算法描述:Voidbubblesort(seqlistr){intI,j;Booleanexchange;For(i=l;i=l;j—)If(r[j+l].key5、称为分治法(将原问题分解为若干个规模更小但结构与原问题相似的了问题。递归地解这些问题,然后将这些了问题的解组合为与原问题的解O算法思想:分解、求解、组合算法描述:(快速排序)voidquicksort(seqlistr,intlow,inthigh){intpivotpos;if(low6、tr,intT,intj){recetypepivot二r[i];Wh订e(i二pivot,key)J—;if(i选择排序(1)直接选择排序算法思想:每一趟在待排序的记录中选出关键字最小的记录,依次放在已排序的记录序列的最后,直至全部记录拍完为止。算法描述:selectsort(rectyper[]){intT,7、j,k;Rcctypetemp;For(i=0;i8、yperl[],intlow,intmid,inthigh){intT,j,k;T=low;j二mid+1;k=low;Wh订c((i〈二mid)&&(j〈二high)){If(r[i].key<=r[j].key)Rl[k++]=r[i++];ElseRl[k++]二r[j++];}Wh
3、=32767;for(i=0;i4、:凡扫描到违反本原则的轻气泡,就使其向上“漂浮”。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。算法描述:Voidbubblesort(seqlistr){intI,j;Booleanexchange;For(i=l;i=l;j—)If(r[j+l].key5、称为分治法(将原问题分解为若干个规模更小但结构与原问题相似的了问题。递归地解这些问题,然后将这些了问题的解组合为与原问题的解O算法思想:分解、求解、组合算法描述:(快速排序)voidquicksort(seqlistr,intlow,inthigh){intpivotpos;if(low6、tr,intT,intj){recetypepivot二r[i];Wh订e(i二pivot,key)J—;if(i选择排序(1)直接选择排序算法思想:每一趟在待排序的记录中选出关键字最小的记录,依次放在已排序的记录序列的最后,直至全部记录拍完为止。算法描述:selectsort(rectyper[]){intT,7、j,k;Rcctypetemp;For(i=0;i8、yperl[],intlow,intmid,inthigh){intT,j,k;T=low;j二mid+1;k=low;Wh订c((i〈二mid)&&(j〈二high)){If(r[i].key<=r[j].key)Rl[k++]=r[i++];ElseRl[k++]二r[j++];}Wh
4、:凡扫描到违反本原则的轻气泡,就使其向上“漂浮”。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。算法描述:Voidbubblesort(seqlistr){intI,j;Booleanexchange;For(i=l;i=l;j—)If(r[j+l].key5、称为分治法(将原问题分解为若干个规模更小但结构与原问题相似的了问题。递归地解这些问题,然后将这些了问题的解组合为与原问题的解O算法思想:分解、求解、组合算法描述:(快速排序)voidquicksort(seqlistr,intlow,inthigh){intpivotpos;if(low6、tr,intT,intj){recetypepivot二r[i];Wh订e(i二pivot,key)J—;if(i选择排序(1)直接选择排序算法思想:每一趟在待排序的记录中选出关键字最小的记录,依次放在已排序的记录序列的最后,直至全部记录拍完为止。算法描述:selectsort(rectyper[]){intT,7、j,k;Rcctypetemp;For(i=0;i8、yperl[],intlow,intmid,inthigh){intT,j,k;T=low;j二mid+1;k=low;Wh订c((i〈二mid)&&(j〈二high)){If(r[i].key<=r[j].key)Rl[k++]=r[i++];ElseRl[k++]二r[j++];}Wh
5、称为分治法(将原问题分解为若干个规模更小但结构与原问题相似的了问题。递归地解这些问题,然后将这些了问题的解组合为与原问题的解O算法思想:分解、求解、组合算法描述:(快速排序)voidquicksort(seqlistr,intlow,inthigh){intpivotpos;if(low6、tr,intT,intj){recetypepivot二r[i];Wh订e(i二pivot,key)J—;if(i选择排序(1)直接选择排序算法思想:每一趟在待排序的记录中选出关键字最小的记录,依次放在已排序的记录序列的最后,直至全部记录拍完为止。算法描述:selectsort(rectyper[]){intT,7、j,k;Rcctypetemp;For(i=0;i8、yperl[],intlow,intmid,inthigh){intT,j,k;T=low;j二mid+1;k=low;Wh订c((i〈二mid)&&(j〈二high)){If(r[i].key<=r[j].key)Rl[k++]=r[i++];ElseRl[k++]二r[j++];}Wh
6、tr,intT,intj){recetypepivot二r[i];Wh订e(i二pivot,key)J—;if(i选择排序(1)直接选择排序算法思想:每一趟在待排序的记录中选出关键字最小的记录,依次放在已排序的记录序列的最后,直至全部记录拍完为止。算法描述:selectsort(rectyper[]){intT,
7、j,k;Rcctypetemp;For(i=0;i8、yperl[],intlow,intmid,inthigh){intT,j,k;T=low;j二mid+1;k=low;Wh订c((i〈二mid)&&(j〈二high)){If(r[i].key<=r[j].key)Rl[k++]=r[i++];ElseRl[k++]二r[j++];}Wh
8、yperl[],intlow,intmid,inthigh){intT,j,k;T=low;j二mid+1;k=low;Wh订c((i〈二mid)&&(j〈二high)){If(r[i].key<=r[j].key)Rl[k++]=r[i++];ElseRl[k++]二r[j++];}Wh
此文档下载收益归作者所有