1、桶排序
可以排序的范圍數較小,是一種以空間換時間的排序算法;
不考慮重復元素的出現---->桶排;解決方案在計數排序;
(1)、代碼實現
#include<stdio.h>
void bucketSort(int *a, int count);
void showArray(int *a, int count);
void showArray(int *a, int count){
int i;
for(i = 0; i < count; i++){
printf("%d ", a[i]);
}
printf("\n");
}
void bucketSort(int *a, int count){
int b[10] = {0}; //知道要排序值的最大范圍
int i;
int n = 0;
for(i = 0; i < count; i++){
b[a[i]]++;
}
for(i = 0; i < 10; i++){
if(b[i]){
a[n++] = i;
}
}
}
void main(void){
int a[] = {3, 5, 1, 8, 9, 6};
int count = sizeof(a)/sizeof(int);
bucketSort(a, count);
showArray(a, count);
}(2)、結果截圖

(3)、算法分析
時間復雜度:O(n);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。