#include
#include
#include
#include
#include
using
namespace std;
intgetnum
(int tmp)
//獲取乙個數的位數
return count;
}int
getmax
(int a,
int size)
//獲取數的最大位數
return maxd;
}void
count_sort
(int a,
int size,
int exp)
//按照特定的某一位進行排序
/* 其中的exp表示獲取乙個數的位數並按照該數在這個位數上的大小進行排序,比如exp=1時按照個位排序,exp=2時按照十位排序......*/;
memset
(buckets,0,
sizeof
(buckets));
for(
int i =
0; i < size; i++
)for
(int i =
1; i <
10; i++
)for
(int i = size-
1; i >=
0; i--
)for
(int i =
0; i < size; i++)}
void
radixsort
(int a,
int size)
//基數排序
}int
main()
radixsort
(a, n)
;for
(int i =
0; i < n; i++
)}
基數排序 MSD(桶排序)
基數排序 radixsort 則是屬於 分配式排序 distributionsort 基數排序法 又稱 桶子法 bucketsort 或binsort,顧名思義,它是透過鍵值的部份資訊,將要排序的元素分配至某些 桶 中,藉以達到排序的作用,基數排序法是屬於穩定性的排序,其 時間複雜度 為o nlog...
基數排序中的LSD方法和MSD方法
最高位優先 most significant digit first 法,簡稱msd法 先按k1排序分組,同一組中記錄,關鍵碼k1相等,再對各組按k2排序分成子組,之後,對後面的關鍵碼繼續這樣的排序分組,直到按最次位關鍵碼kd對各子組排序後。再將各組連線起來,便得到乙個有序序列。最低位優先 leas...
排序 基數排序
基數排序 radix sort 是屬於 分配式排序 distribution sort 基數排序法又稱 桶子法 bucket sort 或bin sort,顧名思義,它是透過鍵值的部份資訊,將要排序的元素分配至某些 桶 中,藉以達到排序的作用。排序思想 首先按照資料的最低位 個位 將資料分配到0 9...