【算法通关指南:数据结构和算法篇 】链表相关算法题:1. 排队顺序,2.单向链表

🔥小龙报:个人主页
🎬作者简介:C++研发,嵌入式,机器人方向学习者
❄️个人专栏:《算法通关指南》
✨ 永远相信美好的事情即将发生

文章目录
前言
本专栏聚焦算法题实战,系统讲解算法模块:以《c++编程》,《数据结构和算法》《基础算法》《算法实战》 等几个板块以题带点,讲解思路与代码实现,帮助大家快速提升代码能力ps:本章节题目分两部分,比较基础笔者只附上代码供大家参考,其他的笔者会附上自己的思考和讲解,希望和大家一起努力见证自己的算法成长
一、排队顺序
1.1题目
链接:排队顺序

1.2算法原理
本题相当于告诉了我们每⼀个点的后继,用静态链表的存储方式能够很好的还原这个队列。
数组中[1, n] 的下标可以当做数据域,根据题意修改指针域即可。
1.3代码
#include<iostream> using namespace std;constint N =1e6+10;int ne[N];intmain(){int n; cin >> n;for(int i =1; i <= n; i++){ cin >> ne[i];} cin >> ne[0];for(int i = ne[0]; i; i = ne[i]) cout << i <<" ";return0;}二、单向链表
2.1题目
链接:单向链表

2.2算法原理
链表模板题,直接实现一个单链表即可
2.3代码
#include<iostream> using namespace std;constint N =1e6+10;int e[N], ne[N];intmain(){int q; cin >> q;while(q--){int op, x; cin >> op >> x;if(op ==1){int y; cin >> y; ne[y]= ne[x]; ne[x]= y;}elseif(op ==2){ cout << ne[x]<< endl;}elseif(op ==3) ne[x]= ne[ne[x]];}return0;}总结与每日励志
✨ 本文介绍了链表相关的两道算法题:排队顺序和单向链表。排队顺序通过静态链表存储方式实现,利用数组下标作为数据域,根据题意修改指针域;单向链表则是模板题,直接实现单链表操作。代码采用C++实现,简洁高效。文章强调算法竞赛中更关注时间效率,空间通常足够。最后以励志语句"永远相信美好的事情即将发生"作结,鼓励读者坚持学习。
