算法题(90):队列安排

审题:

本题需要我们完成题目对应操作并返回操作完的队列的编号顺序

思路:
方法一:模拟链表

涉及插入和删除操作,若用顺序表会导致挪动数据很麻烦,用单链表又无法快速找到对应数据的前一个数据,所以我们用双链表

由于本题数据量比较大,所以不能用list容器来实现指令,因为涉及查找,如果直接用库的find会导致时间复杂度在n^2。

**注意:**本题的数据是按顺序依次插入的,所以我们不需要模拟出地址,只需要知道数据i前是什么数据,后是什么数据即可(也就是有prv和ne即可)

解题:

(1)变量定义与初始化

prv和ne都是用数据值作为索引去查找i的前一个或后一个数据

(2)插入操作

(3)删除操作

如果删除过了就continue,没删除过就改变指向进行删除,然后将判断置为true

(4)输出

P1160 队列安排 - 洛谷

相关推荐
AndrewHZ13 分钟前
图像处理入门009 | OpenCV 图像读取与显示:imread/imshow 全解析
图像处理·python·opencv·算法·计算机视觉·图像显示
学计算机的计算基13 分钟前
TCP 传输层硬核整理:三次握手、四次挥手、拥塞控制一次讲透
java·网络·笔记·网络协议·算法
xx~t20 分钟前
嵌入式学习22
数据结构·学习·算法·排序算法
我是苏苏25 分钟前
C#基础:不写for循环的五种方式
数据结构·算法·c#
三8441 小时前
webshell缓存绕过/哈希碰撞
算法·哈希算法
致Great8 小时前
Pi 的上下文压缩,到底是怎么工作的?
算法
watersink9 小时前
机器学习聚类算法
算法·机器学习·聚类
luj_176810 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
饼饼学习空间智能12 小时前
家庭服务机器人训练数据怎么积累?仿真、真实采集与持续学习的技术路线分析
人工智能·算法·机器学习