好朋友插队算法
好朋友之间的插队,用哈希表数据结构来实现的
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 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 来插队吧来插队吧Debug1.exe
文件 870000 2013-05-14 22:10 来插队吧来插队吧Debug1.ilk
文件 689038 2013-05-15 00:16 来插队吧来插队吧Debug1.obj
文件 3562652 2013-05-14 22:09 来插队吧来插队吧Debug1.pch
文件 1229824 2013-05-14 22:09 来插队吧来插队吧Debug1.pdb
文件 7756 2013-05-15 00:16 来插队吧来插队吧DebugCL.read.1.tlog
文件 210 2013-05-15 00:16 来插队吧来插队吧DebugCL.write.1.tlog
文件 522 2013-05-15 00:16 来插队吧来插队吧Debugcl.command.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink-cvtres.read.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink-cvtres.write.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink-rc.read.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink-rc.write.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink.2172-cvtres.read.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink.2172-cvtres.write.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink.2172-rc.read.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink.2172-rc.write.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink.2172.read.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debuglink.2172.write.1.tlog
............此处省略84个文件信息
/*
本实验假设售票大厅有多个售票窗口,无论到哪个窗口买票都必须排队,但是新来的人不一定排在队尾,允许插队(即直接排在朋友的后面)。
假设已经在排队的人不会离开,也不会移到其他队伍去。买到票的人依次出队。每个人仅买一次票,买完票就离开。每个人都有名字。
每个来买票的人先进行观察判断:
1.如果所有的队伍中都没有发现朋友,则选择最短的队伍排在其队尾;
2.如果所有的队伍中仅发现一个朋友,则可以(不是必须)插在此朋友的后面;但是,插队前应考查是否合算,
插入此位置离售票窗口的距离(即队伍前面的人数)必须小于其他队伍的长度,否则应选择最短的队伍排在其队尾;
3.如果所有的队伍中发现多个朋友,这种情况就比较复杂:
(1) 如果多个朋友是集中在一个队伍里,则可以插在最后那个朋友的后面;
(2) 如果多个朋友是分散在多个队伍里,则插队的原则是离售票窗口最近;
4.如果朋友排在队伍的第一位(即队首),则不允许插队;
本实验要求编写程序模拟这种排队买票时允许插队的情形。要求程序中应用散列表来存放和查找数据,应用求余法构造合理的散列函数
,应用平方探测法来解决Hash映射的冲突现象。程序可能需要四个文本文件:
(1)初始化文件input.txt,包含售票窗口及其购票队伍的初始设置
(2)朋友组文件friend.txt,同一个名字也可能出现在不同的组
(3)来购票的人的完整名单people.txt,其中包含出现在friend.txt中的名字;文件中名字的顺序表示不同的到来顺序;
文件中每行有一个名字,如果某行有多个名字则表示他们同时到达售票厅(这是比较复杂的情形)
(4)售票结果文件output.txt(按售票窗口分组显示),可以考虑各窗口卖票的节奏(即售票员的售票速度)
本实验训练的内容包括六个方面:
1.面向对象程序设计方法,类模板的应用;
2.散列表(Hash Table)的应用,队列(或链表)的应用;
3.应用求余法构造合理的散列函数;
4.应用平方探测法解决Hash映射的冲突现象;
5.文件的读写操作;
6.程序测试计划、用例的设计和测试方法。
*/
#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 来插队吧来插队吧Debug1.exe
文件 870000 2013-05-14 22:10 来插队吧来插队吧Debug1.ilk
文件 689038 2013-05-15 00:16 来插队吧来插队吧Debug1.obj
文件 3562652 2013-05-14 22:09 来插队吧来插队吧Debug1.pch
文件 1229824 2013-05-14 22:09 来插队吧来插队吧Debug1.pdb
文件 7756 2013-05-15 00:16 来插队吧来插队吧DebugCL.read.1.tlog
文件 210 2013-05-15 00:16 来插队吧来插队吧DebugCL.write.1.tlog
文件 522 2013-05-15 00:16 来插队吧来插队吧Debugcl.command.1.tlog
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
文件 2 2013-05-15 00:16 来插队吧来插队吧Debugli
............此处省略84个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)