(1)設定乙個定量的陣列當作空桶子;
(2)尋訪序列,並且按照要求把記錄乙個乙個放到對應的桶子去;
(3)對每個不是空的桶子進行排序。
(4)從不是空的桶子裡把專案再放回原來的序列中。
#include
#include
#include
#include
typedef
struct node
node,*list;
void init(list plist)
static node *buynode(int val)
void insert(list plist,int val)
node *q = buynode(val);
p->next = q;
}bool deletefirst(list plist,int *rtval)
*rtval = p->data;
plist->next = p->next;
free(p);
return
true;
}int getnum(int num,int figure)
return num %10;
}int getmaxfigure(int *arr,int len)
}while(max != 0)
return count;
}void radix(int *arr,int len,int figure)
for (i = 0; i < len; ++i)
i = 0;
for (int j = 0; j < 10; )
else
}}void radixsort(int *arr,int len)
}
排序演算法之桶排序
桶排序 bucket sort 或所謂的箱排序,是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 根據最大值最小值建立多個桶,確定各個桶之間的跨度,然後遍歷原始數列,把各元素放到對應的桶中,先是每個桶內的元素...
排序演算法之桶排序
桶排序 bucket sort 或所謂的箱排序,是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 桶排序是鴿巢排序的一種歸納結果。當要被排序的陣列內的數值是均勻分配的時候,桶排序使用線性時間 n 但桶排序並不...
排序演算法之桶排序
桶排序的基本思想就是待排序的資料分別放入不同的桶中,這些桶之間其實是有序的。然後在這些桶中將分在裡面的資料進行排序。最終就完成了整個序列的排序。假設將乙個均勻分布在區間 0,200 的一些待排序的序列,分成20個桶中。每個桶的大小都是10。分別存資料 0,9 10,19 20,29 190,199 ...