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

发布时间:2024年01月06日

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

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

栈的结构体

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

代码如下:

栈的初始化?

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

代码如下:

入栈操作?

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

代码如下:

栈的展示?

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

代码如下:

出栈操作?

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

代码如下:

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

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

文章来源:https://blog.csdn.net/2302_76438931/article/details/135417484
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。