右侧
当前位置:网站首页 > 资讯 > 正文

在设计链栈时,设用链表作为栈的存储结构

作者:admin 发布时间:2024-04-19 05:45 分类:资讯 浏览:21


导读:定义一段链栈时,这两个分别代表什么意思?将LinkStack定义成了表示栈结点的指针域的指针的类型,它与structStackNode*意思相同。现在,它们都表示一种类型了。删...

定义一段链栈时,这两个分别代表什么意思?

将LinkStack定义成了表示栈结点的指针域的指针的类型,它与struct StackNode*意思相同。现在,它们都表示一种类型了。

删除第2个元素时,front+1 = 2,rear=2,即 front = rear= 2 而带链队列中还剩有1个元素 。

栈的特点就是后进先出,一般情况下我们只访问其最后进入的那个节点也就是top,但是你这个例子中top本身不是一个数据节点,top-next才是真正意义上的栈顶。

第一行是取队首结点数据,第二行是队首指针循环后移一位。这是数组方式实现的循环队列。

指代不同 栈顶指针:是在栈操作过程中,有一个专门的栈指针(习惯上称它为TOP),指出栈顶元素所在的位置。头指针:是以确定线性表中第一个元素对应的存储位置,用于处理数组、链表、队列等数据结构。

链栈只有一个top指针,对于链队列,为什么要设计一个头指针和一个尾指针...

在出队算法中,一般只需修改队头指针,而链栈一般不修改栈头指针。但当原队中只有一个结点时,该结点既是队头也是队尾,故删去此结点时亦需修改尾指针,且删去此结点后队列变空。

为了使循环队列在入队和出队时能够正确地移动指针,并确保队列为空或满的状态可以被准确地检测,队头指针通常指向队头元素的前一个位置,而不是直接指向队头元素。这种设计的一个主要原因是区分队列为空和队列为满的情况。

对于队列,队头和队尾指针是一个在队头,一个在队尾,不可以改变,因此队头指针小于队尾指针。

标签:


关灯