推荐视频教程
  • PHP每日小知识(第二季)PHP每日小知识(第二季)
  • PHP语法基础与数据库详解教程PHP语法基础与数据库详解教程
  • PHP数据库编程零基础入门到精通PHP数据库编程零基础入门到精通
  • 视频教程分类
    首页 >后端开发 >php教程 > 正文

    数据结构:堆栈和队列之间的差异

    原创2019-03-02 14:49:5603093

    堆栈:

    堆栈是一种线性数据结构,其中元素只能从列表的顶部插入和删除。堆栈遵循后进先出原则,即,最后插入的元素是第一个出来的元素。将一个元素插入堆栈称为push操作,将一个元素从堆栈中删除称为pop操作。在堆栈中,我们总是使用一个名为top的指针跟踪列表中出现的最后一个元素。

    堆栈的图示如下:

    geek-stack-1.png

    队列:

    队列是一种线性数据结构,在这种结构中,元素只能从称为"后"的列表的一侧插入,而元素只能从称为"前"的列表的另一侧删除。队列数据结构遵循FIFO (First In First Out)原则,即首先插入到列表中的元素是从列表中删除的第一个元素。在队列中插入一个元素称为入队操作,删除一个元素称为出队操作。

    在队列中,我们总是维护两个指针,一个指针指向插入在第一个指针上的元素,并且仍然在列表中以前指针表示,另一个指针指向插入在最后一个指针上的元素,以后指针表示。

    队列的图示如下:

    geek-queue-1.png

    堆栈和队列之间的差异

    堆栈队列
    堆栈基于LIFO原则,即最后插入的元素是列表中的第一个元素。队列基于FIFO原则,即插入第一个元素,是从列表中出来的第一个元素。
    堆栈中的插入和删除仅发生在名为top的列表的一端。队列中的插入和删除是从列表的相反端进行的。插入发生在列表的后面,删除从列表的前面进行。
    插入操作称为推送(push)操作。插入操作称为入队操作。
    删除操作称为弹出(pop)操作。删除操作称为出列操作。
    在堆栈中,我们只维护一个访问列表的指针,称为top,它始终指向列表中的最后一个元素。在队列中,我们维护两个指针来访问列表。前指针始终指向插入列表中的第一个元素并且仍然存在,后指针始终指向最后插入的元素。

    以上就是数据结构:堆栈和队列之间的差异的详细内容,更多请关注php中文网其它相关文章!

    Web大前端开发直播班

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐