箱子排序(每乙個箱子也是乙個小列表)
1,逐個刪除輸入鍊錶的節點,把刪除節點分配到相應的箱子裡
2,把每個箱子中的鍊錶收集並連線起來,使其成為乙個有序鍊錶
(即連續刪除鍊錶首元素,並將其插入某個箱子的鍊錶首位,然後從最後乙個箱子開始,逐個刪除每個箱子的首元素,並將其插入乙個鍊錶為空的鍊錶首位)
void binsort(chain&thechain, int range)
for (int j = range; j >= 0; j--)
}delete bin;
}#include
using namespace std;
struct studentrecord
studentrecord(int score, string name)
intoperator != (const studentrecord& x) const
//運算子!=的過載
operator
int() const //從studentrecord到int的型別轉換
};ostream &operator
<<(ostream& out, const studentrecord& x)
}
鍊錶應用 箱子排序
1 問題描述 假定乙個鍊錶中包含了乙個班級內所有學生的資訊,每個節點中含有這樣的域 學生姓名 社會保險號碼 每次作業和考試的分數以及所有作業和考試的加權總分。假定所有的分數均為0 1 0 0範圍內的整數。如果採用第 2章中所給出的任一種排序演算法對錶中的學生按分數進行排序,所需要花費的時間均為 o ...
C 演算法 箱子排序 鍊錶的運用
箱子排序 題意 假設學生考試分數有0 100分或者a.b.c.d.f五種成績,讓同學按成績排序 公升序或降序 箱子排序 是為了讓所需時間比普通演算法更快。箱子排序簡述 將分數設定為6個等第,0 5分,姓名設為乙個字元,有10個學生。鍊錶結構有,學生的成績的指標,指向0 5分。將6種成績當作6個箱子。...
鍊錶 排序鍊錶
樂扣原題 definition for singly linked list.public class listnode class solution 將鍊錶轉化為陣列 listlist new arraylist while null head 陣列遞增排序 collections.sort li...