箱子排序(每一个箱子也是一个小列表)
1,逐个删除输入链表的节点,把删除节点分配到相应的箱子里
2,把每个箱子中的链表收集并连接起来,使其成为一个有序链表
(即连续删除链表首元素,并将其插入某个箱子的链表首位,然后从最后一个箱子开始,逐个删除每个箱子的首元素,并将其插入一个链表为空的链表首位)
void binSort(chain<studentRecord> &thechain, int range)
{
//初始化箱子
chain<studentRecord> *bin;
bin = new chain<studentRecord>[range + 1];
int theNumberOfThechain = thechain.size();//获取链表长度
for (int i = 0; i < theNumberOfThechain; i++)
{
studentRecord x = thechain.