数据结构(四)栈与队列

未完待续


:是限定仅在表尾进行插入和删除操作的线性表。
栈顶(允许插入和删除的一端)和栈底(在最底部)。
的结构特点是先进先出。(这种结构又叫Last in First out–LIFO)。
对于的插入操作,必须要有一个好听的名字,叫进栈入栈压栈
对于的删除操作,也有一个好听的名字,有出栈弹栈

栈的顺序存储结构中,为了更灵活地解决对于空间的利用,有一个骚操作,就是两个共享一个空间,两个的栈顶都在数组的两端,添加数据的时候向中间靠拢。

的应用——递归
递归:每个递归定义要有一个条件,满足时递归不再进行,不然递归会一直执行下去,程序做死循环。

的另外一个应用——四则运算表达式
后缀(逆波兰)表示法定义:将运算表达式转化为一种不需要括号的表达式。
计算后缀表达式:遇到数字就进栈,遇到符号,就将处于栈顶两个数字出栈,进行运算,运算结果再进栈,一直到最终获得结果。

中缀表达式后缀表达式
规则:从左到右遍历中缀表达式的每个数字和符号,若是数字就输出,若是符号,判断与栈顶符号的优先级,是右括号或优先级不高于栈顶,则栈顶元素依次出栈并输出。
应用:遇到右括号时,一直输出到左括号为止。遇到符号,一直输出到优先级低于或等于的符号。

队列
队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
队列是一种先进先出(FIrst In First Out)的线性表,简称FIFO。
允许插入一端为队尾,允许删除的一端为队头
循环队列:用front和rear来表示队头队尾
队列的链式存储结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值