一个栈数据结构怎么写 c语言版数据结构,空栈的构造?

[更新]
·
·
分类:互联网
2960 阅读

一个栈数据结构怎么写

c语言版数据结构,空栈的构造?

c语言版数据结构,空栈的构造?

栈的本意是一个数组,里面存取数据的方式是先进后出。因此,你需要一个cusor来指定当前的栈顶(可能你使用top实现的),你可能还需要当前存放了多少数据进栈了,栈是否空、满,因此你还需要一个int变量计算栈元素个数。没push 1,没pop -1。你完全不需要成员stacksize,还有你需要一个栈元素个数的计数器。另外你不需要将形参由引用该为指针,反而降低效率!

栈的顺序存储空间怎么表示?

顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置。通常的习惯做法以top0表示空栈。一般来说,在初始化设空栈时不应限定栈的最大容量。
一个较合理的做法:先为栈分配一个基本容量,然后在应用过程中,当栈的空间不足在进行扩展。空栈时的表示为 。

数据结构题,一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是A 54321 B?

于出栈这类题目,为了尽快选出答案,我们可以先看第一个出栈的元素是后进栈的选项,这些选项的特点是在在第一个进栈元素之前进栈的元素必须是逆序的。
A:PUSH POP PUSH PUSH PUSH PUSH POP POP POP POP B:PUSH PUSH POP POSH POP POP PUSH POP PUSH POP C:PUSH PUSH POP PUSH POP PUSH POP POP PUSH POP D:5最先出栈说明入栈顺序是12345,出栈只能是54321.

为什么栈是抽象数据类型?

从数据的逻辑结构的角度看,栈是线性结构的,也是线性表,其特殊性在于栈的基本操作是线性表操作的子集,是一种操作受限的线性表。但从抽象数据类型角度来看,栈是和线性表大小不相同的,由于它广泛应用于各种系统软件中,所以是一类非常重要的抽象数据类型。
栈是限制在表的一段进行插入和删除运算的线性表,通常称允许进行插入,删除的一端为栈顶,另一端为为栈底。当表中没有元素时称为空栈。、