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,这个运算与线性表置空表类似

  • 相关阅读:
    创建新用户
    发生tcp丢包(拥堵、超时)重传
    centos7装机和初步运维
    论上山和下山哪个费力
    一、Linux简介
    服务器设置FTP
    自定义部署资源服务器
    代码管理工具 Git
    远程连接工具rdcman
    dubbo学习(八)dubbo项目搭建--消费者(服务消费者)
  • 原文地址:https://www.cnblogs.com/wangwenjin2026/p/4281133.html
Copyright © 2011-2022 走看看