数据结构-栈的相关介绍

一、栈的定义

栈是一种线性数据结构,栈的特征是数据的插入和删除只能通过一端来实现,这一端称为“栈顶”,相应的另一端称为“栈底”。说到线性结构,得先了解一下数据的逻辑结构,数据的逻辑结构分为线性结构、集合结构、树形结构和图形结构,如下图所示,栈是一种特殊的线性表,是线性结构的一种。

数据的逻辑结构

二、栈的属性和方法

以上便是栈的一些方法,经常用到的是Push()和Pop()方法。

三、栈的应用

栈最经典的应用是表达式求值,通过以下例子的描述来理解栈在表达式求值应用中的过程。

如求表达式:23-12/(2+4)+11的值。

可将上述表达式转换为后缀的形式,这样可以减少把“(”“)”压入、弹出栈的过程,更好理解操作,如不理解怎样前缀变后缀,可以翻翻树的知识。

23-12/(2+4)+11变为后缀形式为:“23 12 2 4 + / -11+”,把所有的数字压入栈,每次遇到符号时则弹出左右操作数,进行一次运算,然后循环这个过程。栈的应用过程如下:

从以上例子可知,栈在表达式求值方面的应用是多么方便、高效率,当然栈在逆序、数制转换等方面也有所应用。

以上便是数据结构栈的相关介绍,相信通过上面的介绍,大家应该都能理解栈的这种数据结构定义和应用,这也只是栈的简单介绍,对栈的更多操作和应用还需大家更深入去学习,也欢迎大家在评论中指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值