【数据结构-栈】对栈的理解逻辑都在这了(图文版)

1.栈(堆栈)简介

2.栈包含的特性以及基本运算

3.基于数组的栈逻辑运算

4.基于链表的栈逻辑运算

1.1栈(堆栈)简介

栈(stack)也被称为堆栈,是一种受限运算的线性表,是一组相同数据类型的组合。它添加和删除元素都被限制在表的一端进行(栈顶端),而另外一端则被称为栈底。

栈中的元素以后进先出(Last In First Out, LIFO)的方式进出栈,它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来).

栈提供了两个主要操作:进栈(push),即将某个元素添加到栈集合内;出栈(pop),即将最近添加的元素移出栈集合。此外,栈一般具有特定的容量,如果栈中添加的元素总数超过了容量,则将会导致栈处于溢出状态。

栈的实现方式主要有两种:基于数组和链表。它们都提供了统一的接口,即进栈和出栈,唯一的区别就是使用了不同的结构来存储栈元素。

2.1栈的特性

(1)只能从栈的顶端存取数据

(2)数据的存取符合“后进先出”(Last In First Out, LIFO)的原则

2.2栈的基本运算

(1)create:创建一个空栈。

  (2)   push:把数据存入栈顶,并返回新栈。

  (3)   pop:从栈顶弹出新数据,并返回新栈。</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值