第3的章 队列.ppt

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

习 题 三 1 循环队列的优点是什么?如何判断它的空和满? 2 设有一个静态顺序队列,向量大小为MAX,判断队列为空的条件是什么?队列满的条件是什么? 3 设有一个静态循环队列,向量大小为MAX,判断队列为空的条件是什么?队列满的条件是什么? 4 设Q[0,6]是一个静态顺序队列,初始状态为front=rear=0,请画出做完下列操作后队列的头尾指针的状态变化情况,若不能入对,请指出其元素,并说明理由。 a, b, c, d入队 a, b, c出队 i , j , k , l , m入队 d, i出队 n, o, p, q, r入队 5 假设Q[0,5]是一个循环队列,初始状态为front=rear=0,请画出做完下列操作后队列的头尾指针的状态变化情况,若不能入对,请指出其元素,并说明理由。 d, e, b, g, h入队 d, e出队 i , j , k , l , m入队 b出队 n, o, p, q, r入队 4.2 看病排队候诊的顺序实现 while(1){ cout\n请按菜单编号选择相应的操作:; cinmenu; if (menu == 1) { cout\n新的病人加入候诊队列,ID为:id; LQ.EnQue(id); id++; } else if (menu == 2){ e=LQ.DeQue(); if(e!=NULL) cout\n当前被诊治的病人的ID为eendl; 4.2 看病排队候诊的顺序实现 else cout\n队列为空,已无病人等候endl; } else if (menu == 3){ break; } else cout\n输入错误,请按菜单编号输入!; } return 0; } 4.3 看病排队候诊的链式实现 #include iostream using namespace std; typedef int LEType; struct LsNode{ LEType data;//数据元素类型 LsNode *next;//结点指针域 }; 4.3 看病排队候诊的链式实现 class ListQue{ private: LsNode *front,*rear;//头、尾指针 public: ListQue(); ~ListQue(){}; int IsEmpty(); void SetEmpty(); void EnQue(LEType e); LEType DeQue(); LEType GetHead(); }; 4.3 看病排队候诊的链式实现 ListQue:: ListQue() { LsNode *p; p=new LsNode; p-next=NULL; front=rear=p; } void ListQue::EnQue(LEType e){ LsNode *p; p=new LsNode; p-data=e; p-next=NULL; //新插入结点为新的队尾元素所在结点,所以其next设为NULL rear-next=p; //尾指针所指结点的next指向新结点 rear=p; //尾指针指向新结点 } 4.3 看病排队候诊的链式实现 LEType ListQue::DeQue(){ LEType e; LsNode *p; if(front==rear){ //队列为空 //cout\n 队列为空!endl; e=NULL; } else{ p =front-next; //p指向队头元素所在结点 front-next=p-next; //头结点的next域指向队头元素所在结点的下一个结点 if(p-next==NULL) //链队列中只有一个元素结点 rear=front; //尾指针指向头结点 e=p-data; //取出队头元素的值 delete p; //删除队头元素所在结点 } return e; } 4.3 看病排队候诊的链式实现 int main(){ ListQue LQ; int menu; LEType id;//病人在医院挂号时的顺序号 LEType e;//当前被诊治的病人的id id=1; cout******************

文档评论(0)

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

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

1亿VIP精品文档

相关文档