第三章——栈和队列

来源:互联网 发布:广东省云计算应用协会 编辑:程序博客网 时间:2024/06/05 19:09

1.栈是限定仅在表尾进行插入或删除操作的线性表,表尾端称为栈顶,表头端称为栈底,栈又称为后进先出的线性表。

2.顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置,以top=0表示空栈。

3.非空栈中的栈顶指针始终在栈顶元素的下一个位置上。

4.栈的应用:数制转换,表达式求值,逆序输出某一列数据等。

5.栈还有一个重要应用是在程序设计语言中实现递归,一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称为递归函数。(汉诺塔)

6.和栈相反,队列是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素,一个最典型的例子就是操作系统中的作业排队。

7.链队列。

8.循环队列的判空条件是什么?

1️⃣另设一个标志位以区别队列时空还是满;

2️⃣少用一个元素空间,约定以“队列头指针front在队尾指针rear的下一个位置上”作为队列满的状态标识,即Q->front =( Q -> rear+1)%MAXQSIZE。

9.链队列的判空条件是什么?

Q -> front = Q -> rear;

10.循环队列下一个队尾的计算公式是什么?

Q -> rear = (Q -> rear+1)%MAXQSIZE



原创粉丝点击