常用排序算法的C語言實現(xiàn)

常用排序算法的C語言實現(xiàn)

ID:40500757

大?。?5.80 KB

頁數(shù):8頁

時間:2019-08-03

常用排序算法的C語言實現(xiàn)_第1頁
常用排序算法的C語言實現(xiàn)_第2頁
常用排序算法的C語言實現(xiàn)_第3頁
常用排序算法的C語言實現(xiàn)_第4頁
常用排序算法的C語言實現(xiàn)_第5頁
資源描述:

《常用排序算法的C語言實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、常用排序算法的C語言實現(xiàn)//QuickSort快速排序//BubbleSort冒泡排序//InsertSort插入排序//ShellSort希爾排序//MegeSort歸并排序//HeapSort堆排序//BucketSort桶排序//RadixSort基數(shù)排序#include#include/*快速排序*/voidQuickSort(int*a,intp,intq){intk,m,n,tmp;if(p

2、;}}a[q]=a[n];a[n]=k;QuickSort(a,p,n-1);QuickSort(a,n+1,q);}}/*冒泡排序*/voidBubbleSort(int*a,intn){inti,j;inttmp;if(n<2)return;for(i=0;ia[j+1]){tmp=a[j];a[j]=a[j+1];a[j+1]=tmp;}}}}/*插入排序*/voidInsertSort(int*a,intn){inti,j,k;if(n<2)return;for(i=1;i

3、or(j=i-1;j>=0;j--){if(k1){d=(d+1)/2;for(i=0;i

4、tM=i;inttmp;if(i<=(n/2-1)){if(lca[i]){M=lc;}if(rca[M]){M=rc;}if(i!=M){tmp=a[M];a[M]=a[i];a[i]=tmp;HeapAdjust(a,M,n);}}}staticvoidBuildHeap(int*a,intn){inti;for(i=(n/2-1);i>=0;i--){HeapAdjust(a,i,n);}}voidHeapSort(int*a,intn){inti,tp;BuildHeap(a,n);for(i=n-1;i>=0;i--){tp=a[i];

5、a[i]=a[0];a[0]=tp;HeapAdjust(a,0,i);PrintA(a,13);}}/*桶排序(桶排序是一個已知范圍排序,這里假設范圍為0-99)*/voidBucketSort(int*a,intn){intb[100]={0};//使用10個桶分別表示0-9inti,j;for(i=0;i

6、rt(int*a,intn,intMax_w){typedefstructLIST{intval;structLIST*next;}List;inti,j,d;Listr[10];List*p,*q;for(i=0;i<10;i++){r[i].val=0;r[i].next=NULL;}for(i=0;inext!=NULL){p=p->next;}p->next=(List*)malloc(sizeof(structLIST));p->next->val=a[i];p->next->next=NULL;}for(i=

7、0,j=0;i<10;i++){p=&r[i];while(p->next!=NULL){a[j++]=p->next->val;p=p->next;}while(r[i].next!=NULL)//回收內(nèi)存{p=&r[i];q=p;while(p->next!=NULL){q=p;p=p->next;}if(p!=q){free(p);q->next=NULL;}}}for(j=1,d=1;j

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。