java - 队列:入队 vs 出队(填写表格,需要 Shift 吗?)
问题描述
我正在填写这张表,想知道我是否做得对:
我们是这样学习的: dequeue(Q) -> 返回最前面(右手)元素 enqueue(Q,k) -> 插入 k 作为新的最后面(左手)元素
我有点不确定,因为我必须换班,当我想将一个新项目排入队列时(所有其他项目都移到前面),对吗?
谢谢你的帮助!
解决方案
该图对于队列数据结构的一种实现是正确的。
如果一排框表示一个固定大小的数组,那么它不是一个非常有效的实现,因为您已经观察到了移位。一种称为循环队列的不同实现消除了移动项目的需要。
推荐阅读
- c# - 超时已过。在操作完成之前超时时间已过或服务器没有响应。从数据库中获取记录时
- c# - 在 C# 中使用 CDK 将 EC2 实例分配给现有 VPC
- python - 如何从给定的集合中找到子集,如下所示
- python - 用另一个子字符串替换字符串列表中的特定子字符串
- .net - Snappy:如何快速压缩文件夹?
- jquery - 在 MongoDB 中使用 Match exp 和 objectId
- php - XHProf/XHGui 导入配置文件
- javascript - 从服务器下载文件时获取`tar:打开存档时出错:无法识别的存档格式`
- javascript - 未找到 make x ERR:make-.env 在 Windows 10 上运行 make mocked
- sql - SQL 仅返回第一个 TRUE 条件