【問題描述】
為了美麗的校園計畫,學校決定改進排隊制度,比如說給飯卡充錢等……
給每個人乙個rp值,這個rp值決定這個人來了之後要排的位置,如果當前位置已經有人,
那麼從這個位置以後的人後移一位,這個人插進去,如果沒有人的話就直接排到這個位置上去。
現在已知按時間從前到後來的人的名字和rp值,求按排隊順序輸出排隊人的名字。
【任務要求】
任務要求:用鏈位址法解決衝突的方式建立雜湊表,將rp值相同的元素利用頭插法插入到同乙個單鏈表中,並依次輸出雜湊表中的每乙個鍊錶。如:
【測試資料】
輸入 多組測試資料,以檔案結束
每組首先乙個n(1<=n<=200000),接著一行是名字和rp值,名字是不超過20的字串
rp值不超過int
輸出 按排隊順序輸出排隊人的名字
樣例輸入:
4 yougth 1
yuanhang 2
kaichuang 2
yaoyao 1
樣例輸出
yaoyao yougth kaichuang yuanhang
//**有點缺陷,稍後修改
#include
#include
typedef
struct nodenextnode;
typedef
struct list;
list *createhash()
scanf("%d", &n);
for (i = 0; i < n; i++)
return ls;
}int display(list *ls)
}return0;}
int main()
資料結構 雜湊表(除留取餘法 鏈位址法)
include using namespace std 雜湊函式的構造方法 除留取餘法 typedef struct node node typedef struct hash table hash table 初始化雜湊表 hash table inithashtable 在雜湊表中查詢資料 no...
資料結構 雜湊表(雜湊表)鏈位址法
雜湊錶鏈位址法基本思想是將相同雜湊位址的元素放在同乙個單鏈表中,即稱同義詞鍊錶。例如此時我們設乙個雜湊函式h key key n,則可以定義乙個一維陣列,大小為n,陣列元素對應關鍵字模n所得的數字。如下圖 n為13,各關鍵字模13後插入對應值的表中。typedef struct hashnode h...
資料結構 c語言 hash查詢 鏈位址法實現
一.t標頭檔案hash.h的實現 ifndef hash h define hash h include include include include define n 11 typedef int datatype el typedef struct listnode list node,lis...