欢迎来到天天文库
浏览记录
ID:34919588
大小:140.00 KB
页数:14页
时间:2019-03-14
《经典排序算法总结材料(代码)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实用标准经典排序算法总结(代码)--fly分享目录/*冒泡法2/*快速排序3/*插入排序4/*希尔(shell)排序5/*选择排序6/*堆排序7/*归并排序9附:排序算法原理:http://zh.wikipedia.org/wiki/Category:%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95flash演示:http://www.tyut.edu.cn/kecheng1/site01/suanfayanshi/list.asp?id=7文档实用标准#include
2、#includeusingnamespacestd;/*冒泡法左右元素相比,往后冒泡*/templatevoidBubbleSort(T*r,intn){Ttemp;inti,j;for(i=0;ir[j+1]){temp=r[j];r[j]=r[j+1];r[j+1]=temp;}}}}文档实用标准/*快速排序左边比他小,右边比他大,每次得到一个最左边数据的位置*/template3、eT>voidQuickSort(Ta[],intlow,inthigh){if(low=elem)r--;if(l4、向右移,a[j+1]=a[j]*/templatevoidinsert_sort(Ta[],intn){inti,j;Telem;for(i=1;i=0&&elemvoidshell_insert(Tarray[],intd,intlen){inti,j5、;Telem;for(i=d;i=0&&elemvoidshell_sort(Tarray[],intlen){intinc=len;do{inc=inc/2;文档实用标准shell_insert(array,inc,len);}while(inc>1);}/*选择排序逐一比较,最小的放前面6、*/templatevoidSelectSort(Ta[],intn){inti,j,elemNum;Telem;for(i=0;i=a[2*s]&&a[s]>=a[2*s+1]*/temp7、latevoidMax_heap(Ta[],intS,intlen){intl=2*S;intr=2*S+1;intmaxI=S;Telem;if(la[maxI]){maxI=l;}if(ra[maxI]){maxI=r;}if(maxI!=S){elem=a[S];a[S]=a[maxI];a[maxI]=elem;Max_heap(a,maxI,len);}}template文档实用标准voidHeapSort(Ta[]8、,intn){inti;Telem;for(i=n/2;i>=0;i--){Max_heap(a,i,n);}for(i=n-1;i>=1;i--){elem=a[0];a[0]=a[i];a[i]=elem;n=n-1;Max_heap(a,0,n);}}文档实用标准/*归并排序左边小左边,左边++;右边小取右边,右边++*/templatevoi
3、eT>voidQuickSort(Ta[],intlow,inthigh){if(low=elem)r--;if(l4、向右移,a[j+1]=a[j]*/templatevoidinsert_sort(Ta[],intn){inti,j;Telem;for(i=1;i=0&&elemvoidshell_insert(Tarray[],intd,intlen){inti,j5、;Telem;for(i=d;i=0&&elemvoidshell_sort(Tarray[],intlen){intinc=len;do{inc=inc/2;文档实用标准shell_insert(array,inc,len);}while(inc>1);}/*选择排序逐一比较,最小的放前面6、*/templatevoidSelectSort(Ta[],intn){inti,j,elemNum;Telem;for(i=0;i=a[2*s]&&a[s]>=a[2*s+1]*/temp7、latevoidMax_heap(Ta[],intS,intlen){intl=2*S;intr=2*S+1;intmaxI=S;Telem;if(la[maxI]){maxI=l;}if(ra[maxI]){maxI=r;}if(maxI!=S){elem=a[S];a[S]=a[maxI];a[maxI]=elem;Max_heap(a,maxI,len);}}template文档实用标准voidHeapSort(Ta[]8、,intn){inti;Telem;for(i=n/2;i>=0;i--){Max_heap(a,i,n);}for(i=n-1;i>=1;i--){elem=a[0];a[0]=a[i];a[i]=elem;n=n-1;Max_heap(a,0,n);}}文档实用标准/*归并排序左边小左边,左边++;右边小取右边,右边++*/templatevoi
4、向右移,a[j+1]=a[j]*/templatevoidinsert_sort(Ta[],intn){inti,j;Telem;for(i=1;i=0&&elemvoidshell_insert(Tarray[],intd,intlen){inti,j
5、;Telem;for(i=d;i=0&&elemvoidshell_sort(Tarray[],intlen){intinc=len;do{inc=inc/2;文档实用标准shell_insert(array,inc,len);}while(inc>1);}/*选择排序逐一比较,最小的放前面
6、*/templatevoidSelectSort(Ta[],intn){inti,j,elemNum;Telem;for(i=0;i=a[2*s]&&a[s]>=a[2*s+1]*/temp
7、latevoidMax_heap(Ta[],intS,intlen){intl=2*S;intr=2*S+1;intmaxI=S;Telem;if(la[maxI]){maxI=l;}if(ra[maxI]){maxI=r;}if(maxI!=S){elem=a[S];a[S]=a[maxI];a[maxI]=elem;Max_heap(a,maxI,len);}}template文档实用标准voidHeapSort(Ta[]
8、,intn){inti;Telem;for(i=n/2;i>=0;i--){Max_heap(a,i,n);}for(i=n-1;i>=1;i--){elem=a[0];a[0]=a[i];a[i]=elem;n=n-1;Max_heap(a,0,n);}}文档实用标准/*归并排序左边小左边,左边++;右边小取右边,右边++*/templatevoi
此文档下载收益归作者所有