栈的概念:
栈是限制在一端进行操作,允许操作的一端称为栈顶,固定的一端称为栈底;
栈的特性:后进先出
栈分为顺序栈和链式栈;
为了结构的严谨,我们都要考虑多种情况,一般为判空判满,或者为其它的特殊情况。
一、顺序栈

r如图这是一个顺序栈,它的左边是一个data指针指向的空间,当前只定义了一个结构体。
下面为定义的.h文件

接下来实现我们要用调用的函数
1)创建stack_create();
还是malloc 空间然后赋初值;

这里我们需要malloc两个空间,一个为data指针指向用来存放数据的maxlen * data_t大小的空间,还需要Malloc一个栈。
2)压栈(push)
stack_push(sqstack *s)
压栈为在栈上放入一个数据vaule
操作就是在栈顶放入一个数据 ->data[s->top]=Vaule ,top++
代码:

3)出栈(pop)
stack_pop(sqstack *s)
操作和入栈差不多
代码:
数据结构之栈STACK
最新推荐文章于 2025-12-04 16:25:00 发布
本文详细介绍了栈的基本概念,包括栈的特性——后进先出(LIFO),以及栈的两种常见实现方式:顺序栈和链式栈。在顺序栈部分,阐述了创建、压栈、出栈和释放栈的操作。对于链式栈,指出它是一个具有栈特性的单链表。文章提供了相关结构体定义和函数实现的示例。

最低0.47元/天 解锁文章
1805





