美文网首页
算法和数据结构1.4栈

算法和数据结构1.4栈

作者: 数字d | 来源:发表于2019-07-25 21:12 被阅读0次

栈是一种数据呈线性排列的数据结构。不过这种数据结构中,我们只能访问最新添加的数据。

栈是限定仅在表尾进行插入或者删除操作的线性表,对于栈来说,表的方向有唯一性,表尾指的是栈顶(top).
表头是栈底(bottom)。

栈就像是一摞书,拿到新书时我们会把它放在书堆的最上面,取书也只能从最上面的新书开始取。

往栈里面添加一条新数据的操作叫入栈也叫做“push”

从栈里面取出数据时候,是从最上面的数据开始取的,从栈中取出数据的操作叫做出栈也叫做“pop”

像这种最后添加的数据先被取出,即“后进先出”的结构,我们称为Last In First Out,简称LIFO。

与链表和数组一样,栈的数据结构也是线性的,但是在栈中,添加和删除数据操作只能在一端进行,访问数据也指那个访问到顶端的数据。

想要访问中间的数据时候,就必须通过出栈操作将目标数据移到栈顶才行。

栈只能在一端操作这一点十分不便,但是只需要访问最新数据时候,使用它就比较方便了。

栈的实际应用:

1.数制转换

2.括号匹配

3.行编辑程序

4.迷宫求解

5.表达式求值

参看:数据结构(C语言版)清华大学出版社 - 栈和队列

相关文章

  • 2019-07-11—栈

    栈:Java数据结构和算法(四)——栈 string和char一般这么转化: 21、定义栈的数据结构,请在该类型中...

  • 浅谈算法和数据结构

    注:采转归档,自己学习查询使用 浅谈算法和数据结构: 一 栈和队列浅谈算法和数据结构: 二 基本排序算法浅谈算法和...

  • 算法和数据结构1.4栈

    栈是一种数据呈线性排列的数据结构。不过这种数据结构中,我们只能访问最新添加的数据。 栈是限定仅在表尾进行插入或者删...

  • Java数据结构算法(五)排序

    算法这点粗略整理一下,后面完善 Java数据结构算法(一)链表 Java数据结构算法(二)栈和队列 Java数据结...

  • 100天iOS数据结构与算法实战 Day02 - 栈

    100天iOS数据结构与算法实战 Day02 - 栈 100天iOS数据结构与算法实战 Day02 - 栈

  • 数据结构与算法 (栈实现篇)

    数据结构与算法 (栈实现篇) 在数据结构与算法中,栈(stack)又名堆栈,栈是一种受限的线性储存结构,只允许在一...

  • Java数据结构算法(三)树

    本文旨作于收集整理使用!! 导航 Java数据结构算法(一)链表 Java数据结构算法(二)栈和队列 Java数据...

  • Java数据结构算法(四)图

    本文旨作于收集整理使用!! 导航 Java数据结构算法(一)链表 Java数据结构算法(二)栈和队列 Java数据...

  • 第一章绪论

    1.1数据结构 1.2基本概念和术语 1.3抽象数据类型 1.4算法和算法分析 给出问题--->画出逻辑结构---...

  • java高级知识点

    1.数据结构 程序=数据结构+算法 栈:后进先出,线性结构 入栈:push 出栈:pop假如已知入栈顺序是ab...

网友评论

      本文标题:算法和数据结构1.4栈

      本文链接:https://www.haomeiwen.com/subject/lubkrctx.html