当前位置: 首页 > news >正文

L2-002 链表去重

【解析】用结构体数组来对其进行模拟

#include<bits/stdc++.h>
using namespace std;
//结构体存储节点信息
struct Node{int id;int num;int neid;
}rect[100010],rest[100010];
bool vis[100010];
int main(){int x,n;cin>>x>>n;//输入for(int i=0;i<n;i++){Node node;cin>>node.id>>node.num>>node.neid;       rect[node.id]=node; }//对链表进行去重int t=x,y=-1,k1,k2;while(t!=-1){//绝对值标记if(!vis[abs(rect[t].num)]){	vis[abs(rect[t].num)]=true;if(t!=x)rect[k1].neid=t;k1=t;t=rect[t].neid;rect[k1].neid=-1;}else{if(y==-1)y=rect[t].id;elserest[k2].neid=t;rest[rect[t].id]=rect[t];k2=t;t=rest[t].neid;rest[k2].neid=-1;	}}//输出while(x!=-1){printf("%05d %d",rect[x].id,rect[x].num);if(rect[x].neid!=-1)printf(" %05d",rect[x].neid);else printf(" -1");cout<<endl;x=rect[x].neid;}while(y!=-1){printf("%05d %d",rest[y].id,rest[y].num);if(rest[y].neid!=-1)printf(" %05d",rest[y].neid);else printf(" -1");cout<<endl;y=rest[y].neid;}
}

http://www.dtcms.com/a/141377.html

相关文章:

  • MATLAB 控制系统设计与仿真 - 36
  • 使用 PySpark 批量清理 Hive 表历史分区
  • 在Qt中验证LDAP账户(Windows平台)
  • 【dataframe显示不全问题】打开一个行列超多的excel转成df之后行列显示不全
  • Android tinyalsa库函数剖析
  • 几款开源C#插件框架
  • 2025年山东燃气瓶装送气工考试真题练习
  • 单调队列模板cpp
  • Java漏洞原理与实战
  • RT-DETR源码学习bug记录
  • 51单片机实验七:EEPROM AT24C02 与单片机的通信实例
  • 【系统架构设计师】统一过程模型(RUP)
  • python 对接支付宝账单流程及问题处理
  • 告别Feign:基于Spring 6.1 RestClient构建高可用声明式HTTP客户端
  • VUE快速入门-4:简单入门案例
  • postman使用设置
  • ChatGPT-o3辅助学术写作的关键词和引言效果如何?
  • 解锁古籍中的气候密码,探索GPT/BERT在历史灾害研究中的前沿应用;气候史 文本挖掘 防灾减灾;台风案例、干旱案例、暴雨案例
  • 面试面试面试new
  • docker 安装prometheus普罗米修斯
  • 疑难问题解决(2)
  • git常用的命令
  • CSS 美化页面(五)
  • PD分离:优化大语言模型推理效率
  • MDA测量数据查看器【内含工具和源码地址】
  • ARINC818协议的帧格式
  • ARINC818协议(五)
  • Superduper - 在数据上构建端到端AI工作流和应用
  • AI问答收集
  • 深入理解React中的Props与State:核心区别与最佳实践