欢迎来到天天文库
浏览记录
ID:34559358
大小:77.31 KB
页数:9页
时间:2019-03-07
《★常用内排序算法(c++代码)★》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、常用内排序算法(C++代码)——主要包括插入排序、希尔排序、冒泡排序和快速排序程序输出:/**常用内排序算法*主要包括插入排序、希尔排序、冒泡排序、快速排序*2010/8/29*/#include#include#include#include//fortimetestusingnamespacestd;#ifdef_DEBUG#definenewnew(_NORMAL_BLOCK,__FILE__,__LINE__)#endif//_DEBUG//memoryleakc
2、heckinlinevoidEnableMemCheck(){_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF
3、_CRTDBG_LEAK_CHECK_DF);}//functionsdeclarationvoidimproved_qsort(intarr[],intlow,inthigh);voidquick_sort(intarr[],intlow,inthigh);voidbubble_sort(intarr[],intsize);voidimproved_bsort(intarr[],intsize);voidshell_
4、sort(intarr[],intsize);voidinsert_sort(intarr[],intsize);voidbinary_isort(intarr[],intsize);////binaryinsertsort//voidbinary_isort(intarr[],intsize){if(size<2)return;inti,j,low,high,mid,temp;for(i=1;i5、p>=arr[mid]){low=mid+1;}else{high=mid-1;}}for(j=i-1;j>=low;j--){arr[j+1]=arr[j];}arr[low]=temp;//insert}}////insertsort//voidinsert_sort(intarr[],intsize){if(size<2)return;inti,j,temp;for(i=1;i0;j--){if(temp6、]=temp;break;}}}}////shellsort//voidshell_sort(intarr[],intsize){if(size<2)return;inti,d,temp;d=size;while(d>1){d=(d+1)/2;for(i=0;iarr[i+d]){temp=arr[i];arr[i]=arr[i+d];arr[i+d]=temp;}}}}////bubblesort//voidbubble_sort(intarr[],intsize){if(size<=1)return;7、inti,j,temp;for(i=0;iarr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}////improvedbubblesort//voidimproved_bsort(intarr[],intsize){if(size<2)return;inti,j,temp;boolexchange=false;for(i=0;i8、ze-1;j>i;j--){if(arr[j]=high)return;inti=low;intj=high+1;intpivot=arr[i];inttemp;while(i9、;i=pivot)break;for(j=j-1;j>low;j--
5、p>=arr[mid]){low=mid+1;}else{high=mid-1;}}for(j=i-1;j>=low;j--){arr[j+1]=arr[j];}arr[low]=temp;//insert}}////insertsort//voidinsert_sort(intarr[],intsize){if(size<2)return;inti,j,temp;for(i=1;i0;j--){if(temp6、]=temp;break;}}}}////shellsort//voidshell_sort(intarr[],intsize){if(size<2)return;inti,d,temp;d=size;while(d>1){d=(d+1)/2;for(i=0;iarr[i+d]){temp=arr[i];arr[i]=arr[i+d];arr[i+d]=temp;}}}}////bubblesort//voidbubble_sort(intarr[],intsize){if(size<=1)return;7、inti,j,temp;for(i=0;iarr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}////improvedbubblesort//voidimproved_bsort(intarr[],intsize){if(size<2)return;inti,j,temp;boolexchange=false;for(i=0;i8、ze-1;j>i;j--){if(arr[j]=high)return;inti=low;intj=high+1;intpivot=arr[i];inttemp;while(i9、;i=pivot)break;for(j=j-1;j>low;j--
6、]=temp;break;}}}}////shellsort//voidshell_sort(intarr[],intsize){if(size<2)return;inti,d,temp;d=size;while(d>1){d=(d+1)/2;for(i=0;iarr[i+d]){temp=arr[i];arr[i]=arr[i+d];arr[i+d]=temp;}}}}////bubblesort//voidbubble_sort(intarr[],intsize){if(size<=1)return;
7、inti,j,temp;for(i=0;iarr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}////improvedbubblesort//voidimproved_bsort(intarr[],intsize){if(size<2)return;inti,j,temp;boolexchange=false;for(i=0;i8、ze-1;j>i;j--){if(arr[j]=high)return;inti=low;intj=high+1;intpivot=arr[i];inttemp;while(i9、;i=pivot)break;for(j=j-1;j>low;j--
8、ze-1;j>i;j--){if(arr[j]=high)return;inti=low;intj=high+1;intpivot=arr[i];inttemp;while(i9、;i=pivot)break;for(j=j-1;j>low;j--
9、;i=pivot)break;for(j=j-1;j>low;j--
此文档下载收益归作者所有