您好,登錄后才能下訂單哦!
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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。