- 8
- 0
- 约1.59万字
- 约 51页
- 2019-08-31 发布于四川
- 举报
用 C 语言定义链队列结构如下: typedef struct QNode { QElemtype data; struct QNode *next; } Qnode, *QueuePtr; // 定义队列的结点 typedef struct { QueuePtr *front; // 队头指针 QueuePtr *rear; // 队尾指针 }LinkQueue; Status InitQueue (LinkQueue Q) { // 构造一个空队列 Q Q.front = Q.rear = (QueuPtr) malloc (sizeof(QNode)); if (!Q.front) exit (OVERFLOW); // 存储分配失败 Q.front - next = NULL; return OK; } 队列的基本操作在链队列中的实现: 队列的初始化: a1 a2 a3 ^ Q.front Q.rear 销毁队列: = null = null Status DestroQueue (LinkQueue Q) { while (Q.front) { Q.rear = Q.front - next; free (Q.front); Q.front = Q.rear; } return OK; } ∧ rear … front ∧ x ∧ y 插入操作在链队列中的实现 p p Status EnQueue (LinkQueue Q, QElemType e) { // 插入元素 e 为 Q 的新的队尾元素 p = (QueuePtr) malloc (sizeof (QNode)); if (!p) exit (OVERFLOW); p - data = e; p - next = NULL; Q.rear - next = p; Q.rear = p; return OK; } Status DeQueue (LinkQueue Q, QElemType 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; } ∧ front rear y x 删除操作在链队列中的实现 p ▲ p ∧ 填空题部分 1、栈的特点是( ),队列的特点是( )。 2、线性表、栈和队列都是( )结构,可以在线性表的( ) 位置插入和删除元素,栈只能在( )插入和删除元素, 队列只能在( )插入元素和( )删除元素。 3、设栈 S 和队列 Q 的初始状态皆为空,元素a1, a2, a3, a4, a5 和 a6 依次通过一个栈,一个元素出栈后即进入队列 Q,若 6 个元素出队列的顺序是 a3, a5, a4, a6, a2, a1 则栈 S 至少应 该容纳 ( ) 个元素。 4、若队列的入队序列是 1, 2, 3, 4,则出队序列是()。 (A)4,3,2,1(B)1,2,3,4(C)1,4,3,2(D)3,2,4,1 作业 3.11、3.12 3.4.3 循环队列-队列的顺序表示和实现 是限制仅在表头删除和表尾插入的顺序表。 头尾 指针 利用一组地址连续的存储单元依次存放队列中的数据元素。 rear front rear front J1 J2 J3 头、尾指针和队列元素之间的关系 rear front J3 rear front 在非空队列里,头指针始终指向队头元素 尾指针始终指向队尾元素的下一位置。 因为:队头和队尾的位置是变化的,所以:设头、尾指针。
您可能关注的文档
最近下载
- 2024年黑龙江冰雪体育职业学院单招综合素质模拟试题及答案解析.docx VIP
- 战伤救护理论考试及答案.doc VIP
- 2026年春季学期幼儿园教科研工作计划--以研促教启新程,以科赋能育未来.docx
- 深度解析(2026)《GBT 29181-2024术语工作 计算机应用 术语信息置标框架》.pptx VIP
- 第三章 自然资源单元测试(A卷基础篇)(解析版)初中地理仁爱版八年级上册.doc VIP
- 2026-2027部编人教版小学2二年级语文下册(全册)教案设计.doc
- 城市公共安全第二章.ppt VIP
- 水工监测工(技师)试卷及答案.docx VIP
- 2026年甘肃省委党校在职研究生招生考试(文化学)历年参考题库含答案详解.docx VIP
- 基于STM32单片机厨房安全检测系统设计.doc VIP
原创力文档

文档评论(0)