数据结构——栈的基本操作(包含代码)

 在开始学习数据结构的代码之前,先了解栈的工作原理,也就是所谓的后进先出(一个抽象点比喻,跟纵向堆积木一样,从最底层开始,一层一层放得更高(先进),取的时候从上往下依次拿下来,这样才不会倒(先出)。),栈包括两个方面,一方面来存储数据,一方面拿一个箭头(top)指向下一个放入的地方(入栈,出栈,展示)。

top可以指向最高存在数据的位置,也可以指向最高点数据上面下一个插入的位置,看个人习惯(后面都是依照第二种top所写)。

栈的结构体

栈的结构体有包含数据域和指向顶点的位置两方面。

代码如下:

栈的初始化 

输入入栈的元素个数,在调节top位置即可。

代码如下:

入栈操作 

先判断栈是否未满,未满才能进行入栈的操作。

代码如下:

栈的展示 

如同数组一半,找到top指向的值(相当于数组的长度),打印出来即可。

代码如下:

出栈操作 

判断栈是否未空,空的话则没有元素可以出去,不为空则将最顶上的出栈并且指针向下移动一位便可(先--是因为指向的是下一个将要插入的位置,所以为空,先--才能指向存放数据的最高位置),*e是用来记录出栈的数据。

代码如下:

 以上便是初始化,入栈,出栈,展示的基本操作,比起其他理解起来会轻松许多,但是要学会灵活运用才会有更深的见解(看书再多都不如自己亲手敲一遍效果好……)。

小白自己的见解,希望大佬多多指点……

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值