zl程序教程

您现在的位置是:首页 >  前端

当前栏目

[数据结构]队列基本操作总结及其链接

链接队列数据结构队列 总结 及其 基本操作
2023-09-11 14:18:49 时间

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;//这种写法让我想起了 定义结构体 然后定义类 在类里放结构体