算法题(90):队列安排

审题:

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

思路:
方法一:模拟链表

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

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

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

解题:

(1)变量定义与初始化

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

(2)插入操作

(3)删除操作

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

(4)输出

P1160 队列安排 - 洛谷

相关推荐
不会就选b4 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
千里码aicood8 小时前
基于CART算法的图书分类系统设计与实现
数据库·算法·分类
做cv的小昊8 小时前
【World Model】π0.5:a Vision-Language-Action Model with Open-World Generalization
人工智能·算法·机器学习·大模型·多模态·vla·世界模型
لا معنى له9 小时前
World-In-World: World Models in a Closed-Loop World
算法
Discipline102911 小时前
尼泊尔河流流量:天气驱动的预测与高流量风险
人工智能·算法
XuCoder11 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
算法
小羊没烦恼!11 小时前
在Scrum中实施敏捷建模
java·开发语言·windows·算法·c#
weixin_3077791311 小时前
基于睿擎工业开发平台的预训练视觉模型轻量化适配与低代码部署优化
开发语言·算法
hold?fish:palm12 小时前
45 二叉树的右视图
开发语言·c++·算法