zoukankan      html  css  js  c++  java
  • 栈和队列

    栈及其基本运算

    栈(Stack)是一种特殊的线性表(一种数据结构,前后件从属关系描述线性表,线性表中所有元素所占的存储空间是连续的,在存储空间上是按逻辑顺序依次存放的。),它所有的插入与删除都限定在表的同一端进行,允许插入与删除的一端称为栈顶不允许的一端称为栈底。当栈中没有元素时,称为空栈

    栈的修改原则是“先进后出,后进先出”。

    通常用指针top来指示栈顶的位置,用指针bottom来指示栈底。

    栈顶指针top反映了栈的状态不断地变化。

     栈:后进先出(LIFO-last in first out):最后插入的元素最先出来。(想想看子弹匣里面的子弹,好比一个有底没盖的圆柱体,将同等半径的球依次放入容器里面,当要拿出来时,我们只能从上面开始拿,而最上面的球是最后装入的一个球)

     队列:先进先出(FIFO-first in first out):最先插入的元素最先出来。(好比一个无底无盖的圆柱体,规定只能从一端放入球,而另一端拿球,那么先进的肯定先出)

    栈的基本运算有3种:入栈,退栈和读栈顶元素。

    队列的定义和基本运算

    定义:队列(queue)指允许在一端进行插入,而在另一端进行删除的线性表。允许进行删除运算的一端称队头,允许插入运算的一端称为队尾。

    运算:可以用顺序存储的线性表来表示队列,为指出当前执行退队运算的队头位置,需要一个队头指针front,为了指示当前执行人队运算的队尾位置,需要队尾指针rear。

    在实际应用中,队列的顺序存储结构一般采用循环队列的形式。

    循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。

  • 相关阅读:
    基督山伯爵---大仲马
    数据结构
    11. 标准库浏览 – Part II
    python 标准库
    Python 官方文件
    Python 函数
    学员名片管理系统
    如何进入多级菜单
    Python 文件操作
    Python 字符串 (isdigit, isalnum,isnumeric)转
  • 原文地址:https://www.cnblogs.com/iBoundary/p/11559977.html
Copyright © 2011-2022 走看看