尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

B4324 双向链表

B4324 双向链表
📅 发布时间:2026/6/19 21:29:30
点击查看代码
#include<bits/stdc++.h>using namespace std;const int N=500005;
int l[N],r[N];
int n,m;
bool del[N];void insert(int x,int y)
{r[x]=r[y],l[x]=y;l[r[y]]=x,r[y]=x;
}void remove(int x)
{r[l[x]]=r[x],l[r[x]]=l[x];    
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n>>m;r[0]=1;for(int i=1;i<=n;i++){r[i]=i+1;l[i]=i-1;}r[n]=0;int op,x,y;while(m--){cin>>op;if(op==1){cin>>x>>y;if(x==y||del[x]||del[y]) continue;remove(x);insert(x,l[y]);}else if(op==2){cin>>x>>y;if(x==y||del[x]||del[y]) continue;remove(x);insert(x,y);}else if(op==3){cin>>x;if(del[x]) continue;remove(x);del[x]=true;}}int p=r[0];if(p==0) cout<<"Empty!";for(p=r[0];p!=0;p=r[p]) cout<<p<<' ';return 0;
}
双向链表的实现,核心就依赖于删除和插入的函数,操作指针时有个小技巧就是要先处理【】带指针的情况,因为覆盖 还有本题也是直接用下标代表数值,可以初始化为r【0】=1//头指针,r[n]=0,相当于末尾无元素

相关新闻

  • 系列最便宜!苹果iPhone 17e要来了:60Hz低刷灵动岛屏幕
  • Codeforces Round 1065 (Div. 3)
  • 用 Rust 和 Tesseract OCR 实现英文数字验证码识别

最新新闻

  • Kimi K2.5深度解析:多模态原生与蜂群智能体架构
  • 防御Sweet32与POODLE攻击:Nginx/Apache TLS安全配置实战指南
  • QMCDecode解决方案:解锁QQ音乐加密格式,实现音频文件自由播放
  • SCMP报考条件详解——学历和工作经验要求 - 众智商学院课程中心
  • DeepSeek V4硬件适配实录:昇腾910B与H100双轨训练逻辑
  • SAP BOM查询实战:从正查到反查的完整指南

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号