当前位置: 首页 > news >正文

国际站wap端流量郑州网络营销公司

国际站wap端流量,郑州网络营销公司,西安网站优化推广公司,做网站广告词本文目录 04 队列 QueueS1 说明S2 示例普通队列循环队列双端队列优先队列S3 问题:基于普通队列实现的打印机任务管理Python3程序S4 问题:使用循环队列管理玩家移动轨迹Python3程序S5 问题:使用双端队列来管理文档操作历史Python3程序S6 问题:使用优先队列管理车辆调度Pytho…

本文目录

    • 04 队列 Queue
      • S1 说明
      • S2 示例
        • 普通队列
        • 循环队列
        • 双端队列
        • 优先队列
      • S3 问题:基于普通队列实现的打印机任务管理
        • Python3程序
      • S4 问题:使用循环队列管理玩家移动轨迹
        • Python3程序
      • S5 问题:使用双端队列来管理文档操作历史
        • Python3程序
      • S6 问题:使用优先队列管理车辆调度
        • Python3程序

往期链接

01 数组02 链表03 栈

04 队列 Queue

S1 说明

队列是一种先进先出(FIFO,First In First Out)的数据结构。数据在队列中的插入操作称为入队(enqueue),而删除操作称为出队(dequeue)。队列的特性和分类如下:

特征

  • FIFO:最早进入队列的元素最先被移除。
  • 动态大小:队列的大小可以根据需要动态扩展,具体取决于实现方式。
  • 两端操作:通常只在队列的前端进行出队操作,在后端进行入队操作。

分类

  • 普通队列:基本的FIFO队列。
  • 循环队列:为了优化空间使用,使用循环数组实现的队列。
  • 双端队列(Deque):可以在两端进行插入和删除操作。
  • 优先队列:根据优先级进行出队的队列,出队的元素不一定是最早入队的元素。

S2 示例

普通队列

(1)基于collections包实现

from collections import dequequeue = deque()
queue.append('A')  # 入队
queue.append('B')  # 入队
print(queue.popleft())  # 出队
print(queue.popleft())  # 出队

结果

A
B

(2)基于python列表实现

class Queue:def __init__(self):self.queue = []def enqueue(self, item):self.queue.append(item)print(f"入队: {item}")def dequeue(self):if not self.is_empty():item = self.queue.pop(0)print(f"出队: {item}")return itemprint("队列为空,无法出队")return Nonedef is_empty(self):return len(self.queue) == 0def display(self):print("队列内容:", " <- ".join(map(str, self.queue)))# 示例
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.dequeue()
q.display()

结果

入队: 1
入队: 2
出队: 1
队列内容: 2
循环队列

使用固定大小的数组实现循环队列

class CircularQueue:def __init__(self, capacity):self.capacity = capacityself.queue = [None] * capacityself.front = -1self.rear = -1def is_empty(self):return self.front == -1def is_full(self):return (self.rear + 1) % self.capacity == self.frontdef enqueue(self, item):if self.is_full():print("队列已满,无法入队")returnif self.is_empty():self.front = 0self.rear = (self.rear + 1) % self.capacityself.queue[self.rear] = itemprint(f"入队: {item}")def dequeue(self):if self.is_empty():print("队列为空,无法出队")return Noneitem = self.queue[self.front]if self.front == self.rear:  # 队列只剩一个元素self.front = self.rear = -1else:self.front = (self.front + 1) % self.capacityprint(f"出队: {item}")return itemdef display(self):if self.is_empty():print("队列为空")returnindex = self.frontelements = []while True:elements.append(str(self.queue[<
http://www.dinnco.com/news/22329.html

相关文章:

  • 国外做的比较好的网站软文写作方法
  • 北京知名大公司有哪些win7优化大师官网
  • 建立网站就是制作网页对吗指数是什么意思
  • 做网站 客户大概会有那些问题seo怎么刷排名
  • 中文域名网站怎么发布信息东莞网站建设方案报价
  • 网站301重定向怎么做网络营销网站平台有哪些
  • 天猫网站建设可行性分析seo咨询岳阳
  • 海口市住房和城乡建设局 网站腾讯云域名购买
  • 门户网站工作总结濮阳网站推广
  • 做网站怎样才能接单淄博网站seo
  • 手机网站建设进度公关公司排名
  • webmin 添加网站最新新闻事件摘抄
  • 制作网站怎样找公司来帮做体验营销案例分析
  • 怎么申请自己的网站搜索引擎优化好做吗
  • 政府单位如何做网站百度搜索推广方案
  • 江岸区网站公司深圳网站设计制作
  • 做销售在那个网站找使用最佳搜索引擎优化工具
  • 如何下载js做的网站模板建站难吗
  • 产品销售网站模块如何设计建网站的软件
  • 资阳网站开发网站排名优化服务公司
  • 楼盘网官网seo技术交流
  • 呼伦贝尔网站建设百度在线客服中心
  • 攻略类型网站如何做产品营销百度小说排行榜2020前十名
  • 免费网站建设系统百度信息流效果怎么样
  • 如何做电影网站引擎搜索
  • 鹤壁做网站公司电话中国百强县市榜单
  • 最近国语视频在线观看青岛网站优化
  • 代做ansys网站付费推广外包
  • 网站开发计算机配置外贸网站制作公司
  • 图书馆门户网站建设会议记录长沙seo关键词