欢迎来到天天文库
浏览记录
ID:61484514
大小:121.50 KB
页数:16页
时间:2021-02-04
《数据结构6种算法排序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、排序测试代码:#include#include#include"d_random.h"#include"d_timer.h"usingnamespacestd;//#defineNum5000;templatevoidselectionSort(Tarr[],intn){intsmallIndex;intpass,j;Ttemp;for(pass=0;pass2、f(arr[j]voidinsertionSort(vector&v){inti,j,n=v.size();Ttemp;for(i=1;i0&&temp3、-1];j--;}v[j]=temp;}}//templatevoidexchangesort(vector&v){intvsize=v.size(),temp,pass,i;for(pass=0;passv[i+1]){temp=v[pass];v[pass]=v[i+1];v[i+1]=temp;}}voidbubblesort(vector&v){inttemp,n=v.4、size(),i,j;for(i=1;iv[j+1]){temp=v[j];v[j]=v[j+1];v[j+1]=temp;}}}templateintpivotIndex(vector&v,intfirst,intlast){intmid,scanUp,scanDown;Tpivot,temp;if(first==last)returnlast;elseif(first==last-1)returnfirst;else{5、mid=(last+first)/2;pivot=v[mid];v[mid]=v[first];v[first]=pivot;scanUp=first+1;scanDown=last-1;while(scanUp6、p]=v[scanDown];v[scanDown]=temp;}}v[first]=v[scanDown];v[scanDown]=pivot;returnscanDown;}}templatevoidquicksort(vector&v,intfirst,intlast){intpivotLoc;Ttemp;if(last-first<=1)return;elseif(last-first==2){if(v[last-1]7、-1]=v[first];v[first]=temp;}return;}else{pivotLoc=pivotIndex(v,first,last);quicksort(v,first,pivotLoc);quicksort(v,pivotLoc+1,last);}}templatevoidmerge(vector&v,intfirst,intmid,intlast){vectortempVector;intindexA,indexB,indexV;indexA=first;inde8、xB=mid;while(indexA
2、f(arr[j]voidinsertionSort(vector&v){inti,j,n=v.size();Ttemp;for(i=1;i0&&temp3、-1];j--;}v[j]=temp;}}//templatevoidexchangesort(vector&v){intvsize=v.size(),temp,pass,i;for(pass=0;passv[i+1]){temp=v[pass];v[pass]=v[i+1];v[i+1]=temp;}}voidbubblesort(vector&v){inttemp,n=v.4、size(),i,j;for(i=1;iv[j+1]){temp=v[j];v[j]=v[j+1];v[j+1]=temp;}}}templateintpivotIndex(vector&v,intfirst,intlast){intmid,scanUp,scanDown;Tpivot,temp;if(first==last)returnlast;elseif(first==last-1)returnfirst;else{5、mid=(last+first)/2;pivot=v[mid];v[mid]=v[first];v[first]=pivot;scanUp=first+1;scanDown=last-1;while(scanUp6、p]=v[scanDown];v[scanDown]=temp;}}v[first]=v[scanDown];v[scanDown]=pivot;returnscanDown;}}templatevoidquicksort(vector&v,intfirst,intlast){intpivotLoc;Ttemp;if(last-first<=1)return;elseif(last-first==2){if(v[last-1]7、-1]=v[first];v[first]=temp;}return;}else{pivotLoc=pivotIndex(v,first,last);quicksort(v,first,pivotLoc);quicksort(v,pivotLoc+1,last);}}templatevoidmerge(vector&v,intfirst,intmid,intlast){vectortempVector;intindexA,indexB,indexV;indexA=first;inde8、xB=mid;while(indexA
3、-1];j--;}v[j]=temp;}}//templatevoidexchangesort(vector&v){intvsize=v.size(),temp,pass,i;for(pass=0;passv[i+1]){temp=v[pass];v[pass]=v[i+1];v[i+1]=temp;}}voidbubblesort(vector&v){inttemp,n=v.
4、size(),i,j;for(i=1;iv[j+1]){temp=v[j];v[j]=v[j+1];v[j+1]=temp;}}}templateintpivotIndex(vector&v,intfirst,intlast){intmid,scanUp,scanDown;Tpivot,temp;if(first==last)returnlast;elseif(first==last-1)returnfirst;else{
5、mid=(last+first)/2;pivot=v[mid];v[mid]=v[first];v[first]=pivot;scanUp=first+1;scanDown=last-1;while(scanUp6、p]=v[scanDown];v[scanDown]=temp;}}v[first]=v[scanDown];v[scanDown]=pivot;returnscanDown;}}templatevoidquicksort(vector&v,intfirst,intlast){intpivotLoc;Ttemp;if(last-first<=1)return;elseif(last-first==2){if(v[last-1]7、-1]=v[first];v[first]=temp;}return;}else{pivotLoc=pivotIndex(v,first,last);quicksort(v,first,pivotLoc);quicksort(v,pivotLoc+1,last);}}templatevoidmerge(vector&v,intfirst,intmid,intlast){vectortempVector;intindexA,indexB,indexV;indexA=first;inde8、xB=mid;while(indexA
6、p]=v[scanDown];v[scanDown]=temp;}}v[first]=v[scanDown];v[scanDown]=pivot;returnscanDown;}}templatevoidquicksort(vector&v,intfirst,intlast){intpivotLoc;Ttemp;if(last-first<=1)return;elseif(last-first==2){if(v[last-1]7、-1]=v[first];v[first]=temp;}return;}else{pivotLoc=pivotIndex(v,first,last);quicksort(v,first,pivotLoc);quicksort(v,pivotLoc+1,last);}}templatevoidmerge(vector&v,intfirst,intmid,intlast){vectortempVector;intindexA,indexB,indexV;indexA=first;inde8、xB=mid;while(indexA
7、-1]=v[first];v[first]=temp;}return;}else{pivotLoc=pivotIndex(v,first,last);quicksort(v,first,pivotLoc);quicksort(v,pivotLoc+1,last);}}templatevoidmerge(vector&v,intfirst,intmid,intlast){vectortempVector;intindexA,indexB,indexV;indexA=first;inde
8、xB=mid;while(indexA
此文档下载收益归作者所有