資源描述:
《★常用內(nèi)排序算法(c++代碼)★》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、常用內(nèi)排序算法(C++代碼)——主要包括插入排序、希爾排序、冒泡排序和快速排序程序輸出:/**常用內(nèi)排序算法*主要包括插入排序、希爾排序、冒泡排序、快速排序*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--