给出栈的两种存储结构的形式名称,在这两种栈的存储结构中如何判别栈空与栈满

【解答】(1)顺序栈 (top用来存放栈顶元素的下标)
判断栈S空:如果S->top==-1表示栈空。
判断栈S满:如果S->top==Stack_Size-1表示栈满。 (2) 链栈(top为栈顶指针,指向当前栈顶元素前面的头结点) 判断栈空:如果top->next==NULL表示栈空。
判断栈满:当系统没有可用空间时,申请不到空间存放要进栈的元素,此时栈满。

首先数据结构的栈的精髓就是先进后出,那么我们自己封装的时候出数据就只能出最后一个就好了!
一般有2中 数组 跟链表 都是可以做栈的存储结构的
你在写栈的CLASS中给个私有的变量size 和len 这样就很好判别了
SIZE 就是你开的节点的个数 也是你栈能容纳的最多的数据, LEN 就是你已经存入的数据的个数 LEN=0则栈空 LEN>=SIZE 则满了
看你需不需要扩容

数据结构栈存储题目求解!

第4题
(1)可能的出栈顺序是 123(即1进栈就出栈,然后2进2出,再3进3出)
132(即1进1出,2进3进,3出2出)
213(即1进2进,2出1出,3进3出)
231(即1进2进,2出3进,3出1出)
321(即1进2进3进,3出2出1出)
(2)不能得到435612出栈顺序,因为按照进站的车厢序列为123456的话,进出栈顺序为1S2S3S4S4X3X5S5X6S6X2X1X,即1不可能在2之前出栈。
能得到135426的出站序列,即1S1X2S3S3X4S5S5X4X2X6S6X
第6题
一种存储方式用一维数组,通过判断当前数组下标值是否为最大值即判断是否栈满,是否为最小值判断是否栈空;一种用循环单项链表,通过判断表头与表尾指针是否一样判断栈满,判断指针是否为表头判断栈是否为空。
文字描述算法:
1、将字符串按顺序存入已经定义好的一维数组中;
2、输出时,数组下标定位在字符串结尾字符处,用循环实现依次减小下标值,输出对应下标的数组元素值,直到下标为0。

【解答】(1)顺序栈 (top用来存放栈顶元素的下标)
判断栈S空:如果S->top==-1表示栈空。
判断栈S满:如果S->top==Stack_Size-1表示栈满。 (2) 链栈(top为栈顶指针,指向当前栈顶元素前面的头结点) 判断栈空:如果top->next==NULL表示栈空。
判断栈满:当系统没有可用空间时,申请不到空间存放要进栈的元素,此时栈满。


栈和队列属于线性结构 对吗?
栈和队列属于线性结构是对的。1、什么是栈:栈(Stack)是一个后进先出(Last in first out,LIFO)的线性表,它要求只在表尾进行删除和插入操作。栈的结构示意图,按箭头方向操作:2、什么是队列:队列是限定只能在表的一端进行插入,在表的另一端进行删除的特殊的线性表。

队栈是怎样的一种存储结构?
栈是先进后出。栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。

数据结构复习总结第三章栈和队列
) initstack(s) 构造一个空栈;) stackempty(s) 判栈空;) stackfull(s) 判栈满;) push(s x) 进栈;) pop (s) 退栈;) stacktop(s) 取栈顶元素 顺序栈 栈的顺序存储结构称顺序栈 顺序栈的类型定义为 define stacksize typedef char datatype;typedef struct{ datatype data[stacksize];i...

什么叫堆栈
所以“先进后出”就是这种结构的特点。 堆栈就是这样一种数据结构。它是在内存中开辟一个存储区域,数据一个一个顺序地存入(也就是“压入――push”)这个区域之中。有一个地址指针总指向最后一个压入堆栈的数据所在的数据单元,存放这个地址指针的寄存器就叫做堆栈指示器。开始放入数据的单元叫做“栈底”。数据一...

计算机语言里的堆栈是什么意思
堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在称为栈顶的一端对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。堆栈是一个在计算机科学中经常使用的抽象数据类型。堆栈中的物体具有一个特性: 最后一个放入堆栈...

以下与数据的存储结构无关的术语是( ) A 顺序队列 B 链表 C有序表 D...
答案为C。原因:题目问与数据的存储结构无关的是其他三个答案都指出数据采用的存储结构,A:顺序存储,B和D:链接存储。而C只要求表是有序的,而没要求是顺序存储还链接存储。故选C 存储结构:数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储...

栈和链表是两种不同的数据结构吗
是不同的数据结构 不过它们本身是不同的分类 通常说的链表指的是用链式存储方式存储的“线性表”因为数据的存储分两大类 : 顺序存储(数组) 链式存储(链表)而按逻辑分又有:线性表,栈,队列,树,图等 栈有顺序存储也有链式的,分别为顺序栈和链栈 而线性表也有两种存储方式 分别叫顺序表和...

栈和队列都是什么结构
栈(操作系统):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈栈使用的是一级缓存,他们通常都是被调用时处于存储空间中,调用完毕立即释放 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入...

先进先出是队列还是堆栈
2、队列是先进先出:就像一条路,有一个入口和一个出口,先进去的就可以先出去。而栈就像一个箱子,后放的在上边,所以后进先出。两者的结构通常采用的两种存储结构是顺序存储结构和链表存储结构。3、栈和队列是两种基本的数据结构,它们都是线性结构,但在数据的存储和访问方式上有一些不同。4、栈(...

栈的表示方法有哪些?
表示顺序栈的数组下标如果从0开始,栈空的条件是top==-1,栈满的条件是top==maxsize-1;如果从1开始,top==1表示栈空,top==maxsize表示栈满。栈的元素依次存放在一个一维数组中。下标小的一端作为栈底。用一个变量记录栈顶位置,称“栈顶指针”。