当前位置: 首页 > 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;}
}

相关文章:

  • 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普罗米修斯
  • “隐身”数年后重回公众视野的外滩美术馆
  • 希音、Temu告知美国消费者4月25日起涨价:关税变化导致运营成本上升
  • 中国正在俄罗斯国内生产武器?外交部:坚决反对无端指责和政治操弄
  • 商务部:对原产于日本的进口电解电容器纸继续征收反倾销税
  • 虚假营销屡禁不止,市场监管总局严厉打击直播电商违法行为
  • 远洋渔船上的谋生