栈的概念

本文介绍了栈这种线性存储结构,它用于存储逻辑关系为“一对一”的数据,只能从一端存取,遵循“先进后出”原则。栈有进栈和出栈两种操作,开口端为栈顶,封口端为栈底。栈的具体实现方式有顺序栈和链栈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

栈的概念

栈是用来存储逻辑关系为 "一对一" 数据的线性存储结构,如图 1 所示。
1710746-20190713121749756-1364357908.png
栈只能从表的一端存取数据,另一端是封闭的,如图 1 所示;
在栈中,无论是存数据还是取数据,都必须遵循"先进后出"的原则,即最先进栈的元素最后出栈。
拿图 1 的栈来说,从图中数据的存储状态可判断出,元素 1 是最先进的栈,当需要从栈中取出元素 1 时,根据"先进后出"的原则,需提前将元素 3 和元素 2 从栈中取出,然后才能成功取出元素 1。
栈是一种只能从表的一端存取数据且遵循 "先进后出" 原则的线性存储结构。
栈的开口端被称为栈顶,封口端被称为栈底。因此,栈顶元素指的就是距离栈顶最近的元素,拿图 2 来说,栈顶元素为元素 4;同理,栈底元素指的是位于栈最底部的元素,图 2 中的栈底元素为元素 1。
1710746-20190713121913153-523049784.png

栈的特点

进栈和出栈
栈的两种操作:
向栈中添加元素,叫"进栈"(入栈或压栈);
从栈中提取出指定元素,叫"出栈"(或弹栈);

栈的具体实现

栈是一种 "特殊" 的线性存储结构,具体实现有以下两种方式:
1.顺序栈:采用顺序存储结构可以模拟栈存储数据的特点,从而实现栈存储结构;
2.链栈:采用链式存储结构实现栈结构;

转载于:https://www.cnblogs.com/LJA001162/p/11180152.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值