日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

排序算法模板(C语言版)

發(fā)布時(shí)間:2024/4/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 排序算法模板(C语言版) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.快速排序

//By LYLtimvoid swap(int *a, int *b) {int t = *a;*a = *b;*b = t; }void QSort(int l, int r) {int lp = l, rp = r, m = (l + r) >> 1;while (lp < rp) {while (a[lp] < a[m]) lp++;while (a[rp] > a[m]) rp--;if (lp <= rp)swap(&a[lp++], &a[rp--]);}if (l < rp) QSort(l, rp);if (lp < r) QSort(lp, r); }

?C語(yǔ)音標(biāo)準(zhǔn)庫(kù)函數(shù)qsort用法

1 int cmp(const void *a,const void *b) { 2 return ( *(int*)a - *(int*)b ); 3 } 4 qsort(a, n, sizeof(int), cmp);

詳見(jiàn):http://www.cplusplus.com/reference/cstdlib/qsort

?

2.歸并排序

//By LYLtimvoid merge(int start, int mid, int end) {int pl, pr, p = start,len1 = mid - start + 1,len2 = end - mid,left[len1], right[len2];for (pl = 0; pl < len1; pl++) left[pl] = a[start+pl];for (pr = 0; pr < len2; pr++) right[pr] = a[mid+1+pr];pl = pr = 0;while (pl < len1 && pr < len2)if (left[pl] < right[pr]) a[p++] = left[pl++];else a[p++] = right[pr++];while (pl < len1) a[p++] = left[pl++];while (pr < len2) a[p++] = right[pr++]; }void sort(int start, int end) {if (start < end) {int mid = (start + end) >> 1;sort(start, mid);sort(mid+1, end);merge(start, mid, end);} }

?

3.希爾排序

//By LYLtim void ShellSort(int a[], unsigned n) {unsigned gap, i, j;for (gap = n >> 1; gap > 0; gap >>= 1)for (i = gap; i < n; i++)for (j = i - gap; j >= 0 && a[j] > a[j + gap]; j -= gap)swap(&a[j], &a[j + gap]); }

轉(zhuǎn)載于:https://www.cnblogs.com/LYLtim/archive/2011/08/12/2135947.html

總結(jié)

以上是生活随笔為你收集整理的排序算法模板(C语言版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。