亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++計數排序詳解

2020-05-23 14:05:54
字體:
來源:轉載
供稿:網友
計數排序的思想我們之前接觸過的例如:插入排序,歸并排序,快速排序,堆排序等都是基于集合元素之間的比較這一基本的思想,它們執行的時間復雜度最優是趨于O(nlgn),而計數排序的運行機制不是基于集合元素之間的大小比較
 

計數排序不同于比較排序,是基于計數的方式,對于計數排序,假設每一個輸入都是介于0~k之間的整數。對于每一個輸入元素x,確定出小于x的元素的個數。假如有17個元素小于x,則x就屬于第18個輸出位置。
計數排序涉及到三個數組A[0…..length-1],length為數組A的長度;數組B與數組A長度相等,存放最終排序的結果;C[0…..K]存放A中每個元素的個數,k為數組A中的最大值。

int count_k(int A[],int length),此函數為了確定數組A中最大的元素,用來確定C數組的長度。

int count_k(int A[],int length){  int j,max;  max = A[0];  for(j=1;j<=length-1;j++)  {    if(A[j]>=max)      max = A[j];  }  return max;}

計數排序的實現:

void count_sort(int A[],int B[],int k){  int *C = (int *)malloc((k+1) * sizeof(int));  int i,j;  for(i=0;i<=k;i++)//初始化數組C    C[i]=0;  for(j=0;j<=length-1;j++)//計算A中元素的個數    C[A[j]] = C[A[j]]+1;  for(i=1;i<=k;i++)//計算小于等于C[i]的元素的個數    C[i] = C[i] + C[i-1];  for(j=length-1;j>=0;j--)  {    int k=C[A[j]]-1;    B[k] = A[j];    C[A[j]] = C[A[j]] - 1;  }  free(C);}

C++,計數排序

count_sort(A,B,k);

k=5

for(j=0;j<=length-1;j++)//計算A中元素的個數    C[A[j]] = C[A[j]]+1;

表示數組A中有2個0、0個1、2個2、3個3、0個4、1個5

C++,計數排序

  for(i=1;i<=k;i++)//計算小于等于C[i]的元素的個數    C[i] = C[i] + C[i-1];

小于等于0的數有兩個,小于等于1的數有兩個、小于等于2的數有4個、小于等于3的有7個、小于等于4的有7個、小于等于5的有8個

C++,計數排序

for(j=length-1;j>=0;j--)  {    int k=C[A[j]]-1;    B[k] = A[j];    C[A[j]] = C[A[j]] - 1;  }

for循環分析如下

j=7;A[j]=A[7]=3;C[A[j]]=C[3]=7;C[A[j]]-1=6;B[C[A[j]]-1]=B[6]=A[j]=3;C[A[j]]=C[A[j]]-1=6

C++,計數排序

j=6;A[j]=A[6]=0;C[A[j]]=C[0]=2;C[A[j]]-1=1;B[C[A[j]]-1]=B[1]=A[j]=0;C[A[j]]=C[A[j]]-1=1

C++,計數排序

j=5;A[j]=A[5]=3;C[A[j]]=C[3]=6;C[A[j]]-1=5;B[C[A[j]]-1]=B[5]=A[j]=3;C[A[j]]=C[A[j]]-1=5;

C++,計數排序

j=4;A[j]=A[4]=2;C[A[j]]=C[2]=4;C[A[j]]-1=3;B[C[A[j]]-1]=B[3]=A[j]=2;C[A[j]]=C[A[j]]-1=3;

C++,計數排序

j=3;A[j]=A[3]=0;C[A[j]]=C[0]=1;C[A[j]]-1=0;B[C[A[j]]-1]=B[0]=A[j]=0;C[A[j]]=C[A[j]]-1=0;

C++,計數排序

j=2;A[j]=A[2]=3;C[A[j]]=C[3]=5;C[A[j]]-1=4;B[C[A[j]]-1]=B[4]=A[j]=3;C[A[j]]=C[A[j]]-1=4;

C++,計數排序

j=1;A[j]=A[1]=5;C[A[j]]=C[5]=8;C[A[j]]-1=7;B[C[A[j]]-1]=B[7]=A[j]=5;C[A[j]]=C[A[j]]-1=7;

C++,計數排序

j=0;A[j]=A[0]=2;C[A[j]]=C[2]=3;C[A[j]]-1=2;B[C[A[j]]-1]=B[2]=A[j]=2;C[A[j]]=C[A[j]]-1=2;

C++,計數排序

計數排序的最后運行截圖

C++,計數排序

計數排序分析:j=length-1;j>=0;j–此處為倒序,是為了保證排序的穩定性,這個在基數排序中有重要的作用。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美激情另类校园| 97精品在线视频| 亚洲福利视频网站| 中文字幕精品www乱入免费视频| 亚洲视频欧美视频| 91产国在线观看动作片喷水| 国产精品扒开腿做爽爽爽男男| 亚洲人成网站免费播放| 91深夜福利视频| 91a在线视频| 亚洲国产小视频在线观看| 国产精品在线看| 亚洲成人激情图| 91久久精品日日躁夜夜躁国产| 欧美午夜电影在线| 亚洲电影av在线| 欧美日韩在线视频首页| 国产精品久久综合av爱欲tv| 国产精品高潮呻吟久久av无限| 最好看的2019年中文视频| 亚洲美女av网站| 亚洲美女久久久| 日韩av中文字幕在线播放| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩在线观看成人| 国产精品天天狠天天看| 午夜免费久久久久| 91在线直播亚洲| 69久久夜色精品国产7777| 国产精品第三页| 欧美大尺度在线观看| 欧美视频在线观看免费| 欧美成年人视频网站| 国产精品久久精品| 日本人成精品视频在线| 日本精品性网站在线观看| 精品日韩中文字幕| 91精品国产自产91精品| 欧美激情乱人伦| 欧美国产日韩xxxxx| 色琪琪综合男人的天堂aⅴ视频| 午夜精品久久久久久久久久久久| 亚洲a∨日韩av高清在线观看| 亚洲精品日韩欧美| 亚洲欧美国内爽妇网| 精品色蜜蜜精品视频在线观看| 国产成人啪精品视频免费网| 亚洲国产精品电影| 日韩中文综合网| 亚洲人精选亚洲人成在线| 久久精品99国产精品酒店日本| 国产国语刺激对白av不卡| 久久免费福利视频| 狠狠躁夜夜躁久久躁别揉| 日韩欧美高清视频| 91精品国产91久久久久久最新| 国产精品久久久久久超碰| 国产精品国产自产拍高清av水多| 色综合久久久888| 久久五月天色综合| 亚洲国产私拍精品国模在线观看| 国产精品久久久久久久久免费看| 日韩精品免费在线观看| 日韩欧美在线网址| 国产精品极品尤物在线观看| 国产日韩精品电影| 秋霞成人午夜鲁丝一区二区三区| 国产成人综合久久| 国产日韩精品综合网站| 性欧美xxxx视频在线观看| 色老头一区二区三区在线观看| 久久久久久久999精品视频| 欧美日韩免费区域视频在线观看| 亚洲欧洲成视频免费观看| 久久精品国产综合| 亚洲成人黄色网址| 欧美插天视频在线播放| 亚洲国产精品久久久久秋霞不卡| 韩国欧美亚洲国产| 日韩精品在线视频观看| 亚洲自拍在线观看| 亚洲香蕉av在线一区二区三区| 午夜精品久久久久久久99黑人| 精品在线观看国产| 欧美性视频在线| 欧美夫妻性视频| 成人黄色免费看| 自拍偷拍亚洲区| 有码中文亚洲精品| 国产最新精品视频| 久久视频在线免费观看| 日韩中文字幕网址| 亚洲人成在线观看| 久久av资源网站| 国产日韩精品一区二区| 亚洲精品在线看| 91精品国产自产在线观看永久| 精品无码久久久久久国产| 久青草国产97香蕉在线视频| 亚洲人成网站免费播放| 欧美午夜性色大片在线观看| 国产成人在线亚洲欧美| 高清日韩电视剧大全免费播放在线观看| 亚洲国产精品字幕| 91免费看片网站| 国产欧美精品va在线观看| 久久精品国产69国产精品亚洲| 日韩精品丝袜在线| 亚洲专区在线视频| 91精品国产高清| 欧美激情在线有限公司| 国产精品观看在线亚洲人成网| 17婷婷久久www| 免费av一区二区| 91欧美视频网站| 青青草一区二区| 日韩在线视频线视频免费网站| 精品国产精品三级精品av网址| 亚洲男人第一av网站| 亚洲人高潮女人毛茸茸| 亚洲人成网站999久久久综合| 久久久999国产精品| 欧美中文字幕在线播放| 日韩精品久久久久| 成人性教育视频在线观看| 欧美在线激情视频| 久久久日本电影| 精品久久久久久久久久| 亚洲精品国产综合区久久久久久久| 欧美激情影音先锋| 亚洲视频欧美视频| 欧美电影免费观看大全| 欧美成人性色生活仑片| 精品久久久久久久久中文字幕| 国产亚洲欧美视频| 亚洲第一区在线| 日韩理论片久久| 7m精品福利视频导航| 91美女片黄在线观看游戏| 中文字幕国产精品| 影音先锋日韩有码| 久99九色视频在线观看| 欧美极品美女视频网站在线观看免费| 日韩av在线网址| 亚洲精品一区av在线播放| 国产精品三级美女白浆呻吟| 91综合免费在线| 午夜精品一区二区三区av| 久久久噜久噜久久综合| 欧美大奶子在线| 久久精品国产免费观看| 亚洲精品456在线播放狼人| 亚洲人午夜精品| 亚洲欧美另类自拍| 日韩美女视频免费看| 国产欧美日韩丝袜精品一区| 欧美性生交xxxxxdddd| 欧美风情在线观看| 欧美日产国产成人免费图片| 欧美日韩国产激情| 91成人在线视频| 欧美最顶级的aⅴ艳星| 91中文字幕在线| 欧美精品激情在线|