第四章 队列.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
营销研究第四章队列

运行时间不依赖于顾客数或者事件数,而是取决于嘀嗒数。在一个银行系统中,顾客到达的时间间隔和服务时间以分钟作为单位是比较合适的,因此在模拟时可以用1嘀嗒表示1分钟。但如果程序员选择的时间单位不合适,用1嘀嗒表示1秒钟,那么程序运行的时间将增加60倍。如果在很长的一段时间中没有任何事情发生,程序还必须检查每个嘀嗒中是否有事件发生。这将浪费计算机的时间。 * TED(指technology, entertainment, design在英语中的缩写,即技术、娱乐、设计)是美国的一家私有非营利机构,该机构以它组织的TED大会著称,这个会议的宗旨是“用思想的力量来改变世界”。TED诞生於1984年,其发起人是里查德·沃曼。2002年起,克里斯·安德森接管TED,创立了种子基金会(The Sapling Foundation),并营运TED大会。每年3月,TED大会在美国召集众多科学、设计、文学、音乐等领域的杰出人物,分享他们关於技术、社会、人的思考和探索。TED演讲的特点是毫无繁杂冗长的专业讲座,观点响亮,开门见山,种类繁多,看法新颖。参加者们称它为 “超级大脑SPA”和“四日游未来”。 * deQueue template class elemType elemType linkQueueelemType::deQueue() { node *tmp = front; elemType value = front-data; //返回front指向的结点的值 front = front-next; //删除表头结点 if (front == NULL) rear = NULL; //队列为空时,必须将front和rear同时置成NULL delete tmp; //释放表头结点的空间 return value; } 队列类的应用 int main() { linkQueue int s; for (int i=0; i10; ++i) s.enQueue(2*i); while (!s.isEmpty()) cout s.deQueue() ; cout endl; 输出:0 2 4 6 8 10 12 14 16 18 for (i=0; i15; ++i) s.enQueue(i); while (!s.isEmpty()) cout s.deQueue() ; cout endl; return 0; } 输出:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 顺序实现和链接实现的比较 时间:两者都能在常量的时间内完成基本操作,但顺序队列由于采用回绕,使入队和出队的处理比较麻烦 空间:链接队列中,每个结点多一个指针字段,但在顺序队列中有大量的尚未使用的空间。 第四章 队列 队列的概念 队列的实现 STL中的队列 队列的应用 STL中的队列 STL中的队列类是一个容器适配器,队列可 以借助的容器有vector, list和deque 。 定义一个队列对象要指明队列中元素的类 型以及借助于哪一个容器,因此队列的类 模板有两个模板参数:队列元素类型和所 借助的容器类型。 队列的类模板的第二个参数带有缺省值 deque STL中的队列 STL中的队列提供六个运算: 入队操作push:调用push_back 出队操作pop:调用pop_front 获得队头元素的操作front:调用front函数 获得队尾元素的函数back:调用back函数 判队列为空的函数empty:调用empty函数 获得队列长度的函数size:调用size函数 STL队列的使用 #include iostream #include queue using namespace std; int main() { queueint, listint q1; //定义一个用list保存数据的整型队列 queueint, dequeint q2; //也可以写成queueint q2; int i; for (i=0; i 10; ++i) q1.push(i); while (!q1.empty()) { cout q1.front() ; q1.pop(); } cout endl; for (i=0; i 10; ++i) q2.push(i); while (!q2.empty()) { cout q2.front()

文档评论(0)

ranfand + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档