算法题(90):队列安排

审题:

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

思路:
方法一:模拟链表

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

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

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

解题:

(1)变量定义与初始化

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

(2)插入操作

(3)删除操作

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

(4)输出

P1160 队列安排 - 洛谷

相关推荐
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧25 分钟前
C语言_数据结构总结7:顺序队列(循环队列)
c语言·开发语言·数据结构·算法·visualstudio·visual studio
LIUJH123327 分钟前
数据结构——单调栈
开发语言·数据结构·c++·算法
2301_8074492041 分钟前
字符串相乘——力扣
java·算法·leetcode
---yx8989782 小时前
数字人系统源码---v10技术五大底层架构链路全局开发思路
算法·架构·数字人·数字人源码·数字人系统
xiao--xin2 小时前
LeetCode100之二叉搜索树中第K小的元素(230)--Java
java·算法·leetcode·二叉树·树的统一迭代法
路飞雪吖~2 小时前
数据结构 && 常见的排序算法
数据结构·算法·排序算法
手握风云-2 小时前
Java数据结构第二十一期:解构排序算法的艺术与科学(三)
数据结构·算法·排序算法
爱吃柠檬呀2 小时前
《C陷阱与缺陷》读书笔记(一)
c语言·开发语言·算法·《c陷阱与缺陷》·编写程序
壮志凌云3 小时前
配对样本t检验
算法
fqsword3 小时前
C++ 算法竞赛STL以及常见模板
c++·算法