- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2. 销毁队列 Status DestroyQueue(LinkQueue Q) { //销毁队列Q while(Q .front){ Q.rear=Q.front - next; free(Q.front); Q.front=Q.rear; } return OK; }// DestroyQueue 3. 取队头结点数据 datatype FRONT(q) linkqueue *q; { if (EMPTY(q) ) { print(“queue is empty”); return NULL; } else return(q-front-next-data); } /*FRONT*/ 3. 入队 Q Q.front Q.rear ^ … 头结点 队头结点 队尾结点 p e ^ 3. 入队 Status EnQueue(LinkQueue Q, QElemType e) { //将元素e入队 p=(QueuePtr)malloc(sizeof(QNode)); if (!p) exit(ERROR); p-data=e; p-next=NULL; Q .rear-next=p; Q .rear=p; return OK; }// EnQueue 4. 出队 Q Q.front Q.rear ^ … 头结点 队头结点 队尾结点 释放 p 4. 出队 Status DeQueue(LinkQueue Q, QElemType e) { //若队列非空,则将队列Q的对头元素出队并由e返回 if (Q.front = = Q.rear) return ERROR ; p=Q .front-next; e=p-data; Q .front-next=p-next; if (Q .rear = = p) Q .rear=Q .front; free(p); return OK; }// DeQueue *3.4 队列的应用举例 1、多任务的CPU管理 2、缓冲区的设计 作业 1、设计算法判断一个算术表达式的圆括号是否正确配对 2 设单链表中存放着n个字符,试编写算法,判断该字 符串是否有中心对称关系。要求用尽可能少的时间完成。 线性表小结 线 性 表 存储结构 运 算 队列 链 表 顺序表 栈 顺序栈 链 栈 顺序队列 链队列 顺序表 typedef int datatype ; #define maxsize 1024 typedef struct { datatype data[maxsize] ; int last ; } sequenlist; 链 表 typedef int datatype; typedef struct node { datatype data; struct node *next; } linklist; linklist *head, *p; Data Structures: Chapter 3 * 3.3 队列 3.3.1 抽象数据类型队列的定义 3.3.2 链队列 3.3.3 顺序队列 队列 只允许在表的一端进行插入,而在另一端 进行删除。 队头 允许删除的一端 队尾 允许插入的一端 3.3.1 队列的概念及运算 出队 入队 队头 队尾 a1 a2 an ... 入队(插入)和出队(删除)的规则: 先进先出(FIFO) 或后进后出(LILO) 3.3.1 队列的概念及运算 ADT Queue { 数据对象:D={ai | ai?ElemSet, i=1,2,3, … ,n. n?0 } 数据关系:R1={ ai-1, ai | ai-1, ai ?D, i=2,3, … ,n } 注:约定a1端为对头,an端为队尾。 基本操作: InitQueue(Q) //构造一个空队列 EnQueue(Q,e) //将元素e入队 DeQueue (S,e) //将队头元素出队,并由e返回 } ADT Queue 3.4.3 循环队列--队列的顺序存储结构 队列的顺序存储结构简称为顺序队列。顺序队 列实际上是运算受限的顺序表。 由于队列的队头和队尾的位置均是变化的,因 而要设置两个指针,分
您可能关注的文档
- 第3章 逻辑模型设计第3 逻辑模型设计第3章 逻辑模型设计第3章 逻辑模型设计.ppt
- 第3章 消化系统疾病病人护理章节练习第3章 消化系统疾病病人的护理章节练习第3章 消化系统疾病病人的护理章节练习第3章 消化系统疾病病人的护理章节练习.doc
- 第3课宋明理学.ppt
- 第3章 原matlab程设计第3章 原matlab程序设计第3章 原matlab程序设计第3章 原matlab程序设计.ppt
- 第3章 matlab程序设第3章 matlab程序设计第3章 matlab程序设计第3章 matlab程序设计.ppt
- 第3讲 土地分类第3讲 土分类地分类.ppt
- 第3章 java语言基础(4版)副本第3章 java语言基础(第4版)副本第3章 java语言基础(第4版)副本第3章 java语言基础(第4版)副本.ppt
- 第3章 过程参数检测与变-2 温度检测仪表第3章 过程参数检测与变送-2 温度检测仪表第3章 过程参数检测与变送-2 温度检测仪表第3章 过程参数检测与变送-2 温度检测仪表.ppt
- 第3章 天气与气候第4节 影响气候的主要因素 气候与人类活动第3章 天气与气候第4节2 影响气候的主要因素 气候与人类活动第3章 天气与气候第4节2 影响气候的主要因素 气候与人类活动第3章 天气与气候第4节2 影响气候的主要因素 气候与人类活动.ppt
- 第3章 sql基础 v2.第3章 sql基础 v2.1第3章 sql基础 v2.1第3章 sql基础 v2.1.ppt
文档评论(0)