zoukankan      html  css  js  c++  java
  • 数据结构-队列

    队列(queue),是先进先出(FIFO, First-In-First-Out)的线性表,在具体应用中通常用链表或者数组来实现,队列只允许在后端(称为rear)进行插入操作,

    在前端(称为front)进行删除操作,队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。

      

    队列的接口

    一个队列至少需要如下接口:

    接口描述
    add(x) 入队
    delete() 出队
    clear() 清空队列
    isEmpty() 判断队列是否为空
    isFull() 判断队列是否未满
    length() 队列的当前长度
    capability() 队列的容量

    python中内置双向队列模块:

    collections.deque是双端队列,即左右两边都是可进可出的

    方法描述
    append(x) 在队列的右边添加一个元素
    appendleft(x) 在队列的左边添加一个元素
    clear() 从队列中删除所有元素
    copy() 返回一个浅拷贝的副本
    count(value) 返回值在队列中出现的次数
    extend([x..]) 使用可迭代的元素扩展队列的右侧
    extendleft([x..]) 使用可迭代的元素扩展队列的右侧
    index(value, [start, [stop]]) 返回值的第一个索引,如果值不存在,则引发ValueError。
    insert(index, object) 在索引之前插入对象
    maxlen 获取队列的最大长度
    pop() 删除并返回最右侧的元素
    popleft() 删除并返回最左侧的元素
    remove(value) 删除查找到的第一个值
    reverse() 队列中的所有元素进行翻转
    rotate() 向右旋转队列n步(默认n = 1),如果n为负,向左旋转。

    from collections import deque

    q = deque([1,2,3,4,5],5)
    q.append(6) #对尾进队
    print(q.popleft()) #对首出队
  • 相关阅读:
    (转)HTTP协议
    函数深入理解---函数的定义方式
    DOM模型和事件处理---事件处理
    DOM模型和事件处理---节点操作
    DOM模型和事件处理---基本操作
    常用知识
    窗口对象
    简单的事件处理
    Grunt
    基本操作
  • 原文地址:https://www.cnblogs.com/sunny666/p/10734412.html
Copyright © 2011-2022 走看看