数据结构“入门”—栈(C语言实现)

📭今天我们讲数据结构里面的栈,有了顺序表的基础后学习栈那真是唰唰唰的瞬间理解这些东西,非常的easy~~

1:栈的基本概念和结构

栈的概念📝

 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。

压栈:栈的插入操作叫做进栈/压栈/入栈,(入数据在栈顶)

出栈:栈的删除操作叫做出栈。(出数据也在栈顶)

栈的结构📝

 🤔函数的调用需要开辟栈,这两个栈是一回事吗?

函数调用开辟的栈是从内存中申请一块空间,属于虚拟进程地址空间,当程序运行起来执行函数时,函数栈帧用来存放局部变量、参数、返回值等等。和数据结构中的栈没有关联。这两个一个是数据结构中的栈,是一个数据结构。另一个是操作系统中内存划分的一个区域,叫做栈,用来函数调用时建立栈帧。

 下面我们进入第二阶段

 2:栈的实现

🖊:栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入删除数据的代价比较小。

评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值