栈:顺序、链式实现

一、栈的含义
栈是一种特殊的线性表,仅允许在表的一端进行插入和删除运算。这一端被称为栈顶(top),相对地,把另一端称为栈底(bottom)。向一个栈插入新元素又称作进栈、入栈或压栈(push),它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈(pop),它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。所以栈具有“后入先出”的特点(LIFO)。

二、栈的顺序存储

1.栈的定义:

1)栈的数组,入栈的数据存储至数组中

2)栈的大小,栈中数据的个数

3)创建一个隐藏栈结构体的节点 ​​​​​

2.栈顺序存储的基本操作:

1)初始化栈

2)入栈

3)出栈

4)返回栈的大小

5)返回栈顶元素

6)判断栈是否为空

7)销毁栈

 三、顺序栈的常用操作

1.初始化顺序栈

 2.入栈

3. 出栈

 

4.返回栈的大小

 

 5.返回栈顶元素

 

6.空栈

 

 

7.销毁栈

 

 三、栈的链式

(一)在以s为头结点指针的链式栈中,有以下四个非常重要的要素

        1.栈空条件:s->next==NULL

        2.栈满条件:在不考虑内存溢出的情况下,一般不考虑栈满情况 

        3.进栈操作: 新建一个结点(用于存放元素e),让指针p指向它,将结点p插入到头结点之后

        4.出栈操作:  取出首结点存放的值将其删除,并释放内存

(二)栈链式存储的基本操作:

1)初始化栈

2)入栈

3)出栈

4)返回栈的大小

5)返回栈顶元素

6)判断栈是否为空

7)销毁栈

(三)链式栈的常用操作

1) 链栈的初始化

 

 

 2)销毁栈

 

 3)判断栈是否为空

 

4)进栈(push)

 

5)出栈(Pop)

 ​​​​​​​

 

 6)取栈顶元素

 

 7)输出栈

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值