zoukankan      html  css  js  c++  java
  • [转]队列及其基本运算

    一.队列的定义及其运算

    1、定义
         队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。
       (1)允许删除的一端称为队头(Front)。
      (2)允许插入的一端称为队尾(Rear)。
      (3)当队列中没有元素时称为空队列。
      (4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。

      队列的结构特点是先进队的元素先出队。假设有队列Q=(a1,a2,...,an),则队列Q中的元素是按a1,a2,...,an的次序进队,而第一个出队的应该是a1,第二个出队的应该是a2,只有在ai-1出队后, ai才可以出队(1≤i≤n),如图3.9所示。
         队列的修改是依先进先出的原则进行的。新来的成员总是加入队尾(即不允许"加塞"),每次离开的成员总是队列头上的(不允许中途离队),即当前"最老的"成员离队。
      
    2、队列的基本逻辑运算

    与栈类似,队列的运算可以归纳为以下几种:
    1. AddQ(ElemType x)
    ——在队列的尾部插入一个新的元素x。队尾的位置由rear指出。

    2. DelQ(Q)
    ——
    删除队列的队头的元素。队头的位置由front指出。
    3. EmptyQ(Q)
    ——
    测试队列Q是否为空队。当队列为空时返回一个真值,否则返回一个假值。
    4. FrontQ(Q)
    ——
    取得队列Q的队头元素。该运算与DelQ(Q)不同,后者要修改队头元素指针。
    5. SetNULL(Q)
    ——
    创建一个空队Q,这个运算与线性表置空表类似

  • 相关阅读:
    第一次工作 第一星期问题总结。
    IOS 中使用token机制来验证用户的安全性
    地址栏连接参数修改
    JavaScript反调试技巧
    简谈前端存储
    跨域的原因,场景,方法
    vue学习笔记(一)关于事件冒泡和键盘事件 以及与Angular的区别
    vue入门 vue与react和Angular的关系和区别
    详细图解作用域链与闭包
    jQuery的ajax详解
  • 原文地址:https://www.cnblogs.com/wangwenjin2026/p/4281133.html
Copyright © 2011-2022 走看看