資源簡介
好朋友之間的插隊,用哈希表數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)的

代碼片段和文件信息
/*
本實驗假設(shè)售票大廳有多個售票窗口,無論到哪個窗口買票都必須排隊,但是新來的人不一定排在隊尾,允許插隊(即直接排在朋友的后面)。
假設(shè)已經(jīng)在排隊的人不會離開,也不會移到其他隊伍去。買到票的人依次出隊。每個人僅買一次票,買完票就離開。每個人都有名字。
每個來買票的人先進(jìn)行觀察判斷:
1.如果所有的隊伍中都沒有發(fā)現(xiàn)朋友,則選擇最短的隊伍排在其隊尾;
?2.如果所有的隊伍中僅發(fā)現(xiàn)一個朋友,則可以(不是必須)插在此朋友的后面;但是,插隊前應(yīng)考查是否合算,
?插入此位置離售票窗口的距離(即隊伍前面的人數(shù))必須小于其他隊伍的長度,否則應(yīng)選擇最短的隊伍排在其隊尾;
? 3.如果所有的隊伍中發(fā)現(xiàn)多個朋友,這種情況就比較復(fù)雜:
?? (1) 如果多個朋友是集中在一個隊伍里,則可以插在最后那個朋友的后面;
(2) 如果多個朋友是分散在多個隊伍里,則插隊的原則是離售票窗口最近;
?? 4.如果朋友排在隊伍的第一位(即隊首),則不允許插隊;
???
本實驗要求編寫程序模擬這種排隊買票時允許插隊的情形。要求程序中應(yīng)用散列表來存放和查找數(shù)據(jù),應(yīng)用求余法構(gòu)造合理的散列函數(shù)
,應(yīng)用平方探測法來解決Hash映射的沖突現(xiàn)象。程序可能需要四個文本文件:
(1)初始化文件input.txt,包含售票窗口及其購票隊伍的初始設(shè)置
? (2)朋友組文件friend.txt,同一個名字也可能出現(xiàn)在不同的組
??(3)來購票的人的完整名單people.txt,其中包含出現(xiàn)在friend.txt中的名字;文件中名字的順序表示不同的到來順序;
??文件中每行有一個名字,如果某行有多個名字則表示他們同時到達(dá)售票廳(這是比較復(fù)雜的情形)
??(4)售票結(jié)果文件output.txt(按售票窗口分組顯示),可以考慮各窗口賣票的節(jié)奏(即售票員的售票速度)
??本實驗訓(xùn)練的內(nèi)容包括六個方面:
?? 1.面向?qū)ο蟪绦蛟O(shè)計方法,類模板的應(yīng)用;
??? 2.散列表(Hash?Table)的應(yīng)用,隊列(或鏈表)的應(yīng)用;
3.應(yīng)用求余法構(gòu)造合理的散列函數(shù);
? 4.應(yīng)用平方探測法解決Hash映射的沖突現(xiàn)象;
?? 5.文件的讀寫操作;
???6.程序測試計劃、用例的設(shè)計和測試方法。
???*/
#include
#include
#include
#include
#include
#include
#include
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-05-15?00:17??來插隊吧\
?????目錄???????????0??2013-05-15?00:16??來插隊吧\Debug\
?????文件??????172544??2013-05-15?00:16??來插隊吧\Debug\來插隊吧.exe
?????文件??????700096??2013-05-15?00:16??來插隊吧\Debug\來插隊吧.ilk
?????文件?????1502208??2013-05-15?00:16??來插隊吧\Debug\來插隊吧.pdb
?????目錄???????????0??2013-05-14?23:50??來插隊吧\來插隊吧\
?????文件???????10599??2013-05-15?00:17??來插隊吧\來插隊吧\1.cpp
?????文件????????3341??2013-05-14?22:09??來插隊吧\來插隊吧\1.dsp
?????文件?????????510??2013-05-14?22:10??來插隊吧\來插隊吧\1.dsw
?????文件???????41984??2013-05-14?22:10??來插隊吧\來插隊吧\1.ncb
?????文件???????48640??2013-05-14?22:10??來插隊吧\來插隊吧\1.opt
?????文件?????????678??2013-05-14?22:10??來插隊吧\來插隊吧\1.plg
?????目錄???????????0??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\
?????文件??????622654??2013-05-14?22:09??來插隊吧\來插隊吧\Debug\1.exe
?????文件??????870000??2013-05-14?22:10??來插隊吧\來插隊吧\Debug\1.ilk
?????文件??????689038??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\1.obj
?????文件?????3562652??2013-05-14?22:09??來插隊吧\來插隊吧\Debug\1.pch
?????文件?????1229824??2013-05-14?22:09??來插隊吧\來插隊吧\Debug\1.pdb
?????文件????????7756??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\CL.read.1.tlog
?????文件?????????210??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\CL.write.1.tlog
?????文件?????????522??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\cl.command.1.tlog
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
?????文件???????????2??2013-05-15?00:16??來插隊吧\來插隊吧\Debug\li
............此處省略84個文件信息
- 上一篇:歐姆龍C系列PLC解密軟件
- 下一篇:飛思卡爾電磁程序
評論
共有 條評論