文件名称:散列表的应用:插队买票
文件大小:11KB
文件格式:CPP
更新时间:2013-06-17 12:03:27
散列表 队列 文件
设计一个程序模拟插队买票的过程,本实验假设售票大厅有2个售票窗口,无论到哪个窗口买票都必须排队,但是新来的人不一定排在队尾,允许插队(即直接排在朋友的后面)。假设已经在排队的人不会离开,也不会移到其他队伍去。买到票的人依次出队。每个人仅买一次票,买完票就离开。每个人都有名字而且名字都不同。 对每个来买票的人进行观察判断: 1. 如果所有的队伍中都没有发现朋友,则选择最短的队伍排在其队尾; 2. 如果所有的队伍中发现一个朋友,则可以插在此朋友的后面;但是,插队前应考查是否合算,插入此位置离窗口的距离(即队伍前面的人数)必须小于另一个队伍的长度,否则应选择最短的队伍排在其队尾; 3. 若所有的队伍中发现多个朋友,就分下面几种情况: (1) 如果多个朋友是集中在一个队伍里,则插在最后那个朋友的后面; (2) 如果多个朋友是分散在二个队伍里,则插队的原则是插进离售票窗口最近的队伍