將乙個關鍵字,如278,分為三個關鍵字『2』,『7』,『8』。
把待排元素按某一位從低到高新增到相應的f-e中,其實f和e只是指向頭尾兩個元素,鍊錶的連線關係實際上是通過修改r的next指標實現的。
//
// created by dgm on 19-4-23.
//#include
#define maxnum 10000
#define radix 10
using
namespace std;
typedef
int keytype;
typedef
char
* info;
typedef
int arrtype[radix]
;typedef
struct
slcell;
typedef
struct
sllist;
//靜態鍊錶
keytype ord
(keytype k,
int i)
//取關鍵字的第i位(將單關鍵字拆分為多關鍵字)
void
distribute
(sllist&l,
int i,arrtype&front,arrtype&rear)
//按照第i位將每個元素分配到
// 相應的鍊錶中
}void
collect
(sllist&l,arrtype front,arrtype rear)
} l.r[t]
.next=0;
//最後乙個元素指向0,標識結束
}void
radixsort
(sllist&l)
}int
main()
鏈式基數排序
c1.h 程式名 include include include malloc 等 include int max等 include eof z或f6 null include atoi include eof include floor ceil abs include exit 函式結果狀態 d...
資料結構 內部排序 鏈式基數排序
沒做這個演算法之前覺得靜態鍊錶沒什麼用,寫了這個演算法才發現原來靜態鍊錶是如此的巧妙,才發現之前的看法是多麼的淺薄無知,看來以後還要更虛心了,嘿嘿.基數排序,關鍵是兩個過程,分配和 分配是按關鍵字順序將記錄進行分類為,是將分配過程中順序打亂的記錄重新鏈結成靜態鍊錶。這樣從按一定順序對關鍵字進行分配和...
排序 基數排序
基數排序 radix sort 是屬於 分配式排序 distribution sort 基數排序法又稱 桶子法 bucket sort 或bin sort,顧名思義,它是透過鍵值的部份資訊,將要排序的元素分配至某些 桶 中,藉以達到排序的作用。排序思想 首先按照資料的最低位 個位 將資料分配到0 9...