栈和队列

学习目标 

本节我们将初步认识队列,栈和队列是限定插入和删除只能在表的“端点”进行的线性表。

开始学习 01

是什么?

限定仅在表尾进行插入和删除操作的线性表,表尾—栈顶表头—栈底,不含元素的空表称为空栈。

打个形象的比方,栈就像一个羽毛球筒,羽毛球就是一个个元素,每次我们取球都只能从最顶部取(不可能直接从球筒中间取吧,除非你在球筒中间开个洞),放球也一样,也只能从顶部放。

这里的取球就对应栈的出栈/弹出操作,注意不是栈的删除操作,区别就是前者的返回值会返回被弹出的元素,而后者则不会。

特点:

先进后出(FILO)或后进先出(LIFO)。就是说先进栈的元素总是后出来。现在不理解这句话的意思没关系,后面学栈的删除和添加元素的时候就会理解这句话的涵义

02队列

是什么?

队列是限定只能在表的一端进行插入(入队),而在表的另一端进行删除(出队)的线性表

队尾(rear) ——允许插入的一端

队首(front) ——允许删除的一端

队列其实很好理解,从字面意思来看,就像我们平时排队拿饭,我们总是从队尾加入队伍(插入元素),在队首取完饭的同学就从队伍离开(删除元素),当然这里要基于不出现插队这种不文明行为。

特点:

与栈不同,队列的特点是先进先出(FIFO),即先进入的元素总是最先出队。

●数据结构与算法之链表的一元多项式相加

●数据结构与算法之双向循环链表

●数据结构与算法之循环链表

多点关注多份关爱仙女都在看点点点,赞和在看都在这儿!

栈和队列都是什么结构_数据结构与算法之初识栈与队列相关推荐

  1. 假设有搅乱顺序的一群儿童成一个队列_数据结构与算法系列之栈amp;队列(GO)...

    以下完整代码均可从这里获取 栈 栈的基本概念 「后进先出.先进后出就是典型的栈结构」.栈可以理解成一种受了限制的线性表,插入和删除都只能从一端进行 当某个数据集合只涉及在一端插入和删除数据,并且满足后 ...

  2. c++数据结构中 顺序队列的队首队尾_数据结构与算法—队列详解

    前言 栈和队列是一对好兄弟,前面我们介绍过数据结构与算法-栈详解,那么栈的机制相对简单,后入先出,就像进入一个狭小的山洞,山洞只有一个出口,只能后进先出(在外面的先出去).而队列就好比是一个隧道,后面 ...

  3. c++数据结构中 顺序队列的队首队尾_数据结构与算法—队列图文详解

    前言 栈和队列是一对好兄弟,前面我们介绍过数据结构与算法-栈详解,那么栈的机制相对简单,后入先出,就像进入一个狭小的山洞,山洞只有一个出口,只能后进先出(在外面的先出去).而队列就好比是一个隧道,后面 ...

  4. Python__数据结构与算法——表、栈、队列

    目录 一.表 二.栈(后进先出) 三.队列(先进先出) 数据结构使用来描述一种或多种数据元素之间的特定关系,算法是程序设计中对数据操作的描述,数据结构和算法组成了程序.对于简单的任务,只要使用编程语言 ...

  5. c语言编写队列元素逆置,数据结构与算法实验—利用栈逆置队列元素.doc

    数据结构与算法实验-利用栈逆置队列元素 利用栈逆置队列元素实验报告 通信1204班 谢崇赟 实验名称 利用堆栈将队列中的元素逆置 实验目的 会定义顺序栈和链栈的结点类型. 掌握栈的插入和删除结点在操作 ...

  6. abcde依次进入一个队列_数据结构与算法(6):队列

    (文中图片出自王争老师的课程:数据结构与算法之美,侵删) 先进者先出,这就是典型的队列. 根据上篇文章,我们知道栈只支持两个基本操作:入栈 push()和出栈 pop().队列跟栈非常相似,支持的操作 ...

  7. 树的高度从零还是一开始数_数据结构与算法之1——树与二叉树

    数据结构一直是让人头疼,面试遇到手撕算法题时真是慌得不行,从啥也不会刷题刷到游刃有余,路漫漫其修远兮~~.本人还是个算法菜鸟,而且还是想转行互联网的半吊子(好想拿大厂offer啊,幻想中..),希望能 ...

  8. java数据结构与算法之(Queue)队列设计与实现

    [版权申明]转载请注明出处(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/53375004 出自[zejian的博客] ...

  9. php学数据结构,PHP 程序员学数据结构与算法之《栈》

    介绍 "要成高手,必练此功". 要成为优秀的程序员,数据结构和算法是必修的内容.而现在的Web程序员使用传统算法和数据结构都比较少,因为很多算法都是包装好的,不用我们去操心具体的实 ...

最新文章

  1. 零基础学习pythonrequests_requests库初体验
  2. Visual Studio Code启动项目
  3. [USACO2009 OPEN] 滑雪课 Ski Lessons
  4. MySQL中的多表插入更新与MS-SQL的对比
  5. P2842-LJJ算数【数论,快速幂】
  6. Python中Dict的查找
  7. 递归入门 斐波那契数列
  8. 0909 学习操作系统
  9. python语句块的定义_第五章、Python语句
  10. 无人车运动参数校准流程
  11. 2019 年 9 月全国程序员工资统计,你是什么水平?
  12. python3 使用sorted 实现倒序
  13. 信创好难?ARM应用移植避坑指南请收好
  14. GO语言-panic和recover
  15. USYD悉尼大学DATA1002 详细作业解析Module7(全新讲解)
  16. 计算机专业课程计划,计算机专业课程表(教学计划)
  17. 解决页面favicon.ico文件不存在提示404问题
  18. 国内的服务器的优势就是,国产芯片服务器的优势是什么
  19. Unity 人形动画、动画切割、Animator
  20. vue+openlayers实现地图打点

热门文章

  1. 【网络安全】如何利用工具发现内部或外部网络攻击面
  2. 【网络安全】Linux内核部分文件分析
  3. androidstudio 常用快捷键
  4. 【Laravel】连接sqlite,Database [] not configured,sqlite example
  5. 2、MySQL创建存储过程(CREATE PROCEDURE)(函数)
  6. 102. 最佳牛围栏【二分 / 思维 不错】
  7. 【PAT乙级】1094 谷歌的招聘 (20 分)
  8. 2.1.2 进程的状态与转换
  9. Oracle查询给表起别名
  10. python中uss的用法_使用不同内存ussag管理Python多进程进程进程