[数据结构]队列基本操作总结及其链接 原创
A.注释
熟练掌握队列的定义、特性和队列的抽象数据类型,队列的顺序表示、链接表示以及相应操作的实现。特别是循环队列中队头与队尾指针的变化情况,队空和队满的条件。
1.定义
与栈类似,但是,删除是在表的头部进行的
2.抽象数据类型
P69
3.队空和队满的条件
if ((Q.rear + 1) % MAXSIZE == Q.front)
B.模拟队列的相关链接
| 链表模拟队列相关操作 | 数组模拟链表相关操作 |
|---|
C.编写日志
这一回照着书上抄得很顺利 毕竟超出经验来了 ((*^_^*)
几个点还是扯一下
1.
判断 顺序队列 满的方式
这个 真实
//%MAXSIZE 是因为有可能是循环列表
if ((Q.rear + 1) % MAXSIZE == Q.front)
2.
队列 Pop 的方式
毕竟都是往后自己走一下 但是有因为 循环队列的可能关系
另外 就算是 Q.front = (Q.front + 1) 我也觉得 哈哈哈
Q.front = (Q.front + 1) % MAXSIZE; //头走了一格就当没它了
3.
没有老师教我真的蛋疼 视频也没说
可以的 Nice
typedef struct QNode
{
/* data */
Elem data;
struct QNode *next;
}QNode, *QueuePtr;
typedef struct
{
QueuePtr front;
QueuePtr rear;
}LinkQueue;//这种写法让我想起了 定义结构体 然后定义类 在类里放结构体

浙公网安备 33010602011771号