2019年-PTA模拟赛-L2-1 链表去重(一维数组模拟链表)

news/2025/3/9 22:49:42/文章来源:https://www.cnblogs.com/Yuhhhhh/p/18761568

一维数组模拟链表
被删除的结点仍然在e数组中,因此记录一下被删除的结点的地址就可以找到其值

AcCode:

#include<bits/stdc++.h>
using namespace std;
int e[100010], ne[100010], vis[100010];
vector<int> delNode;
int main(){int N, rootAdress;cin >> rootAdress >> N;while(N--){int now, v, nx;cin >> now >> v >> nx;e[now] = v;ne[now] = nx;}int pre;for(int i = rootAdress; i != -1; i = ne[i]){if(!vis[abs(e[i])]){vis[abs(e[i])] = true;pre = i;}else{ne[pre] = ne[i];delNode.push_back(i);}}for(int i = rootAdress; i != -1; i = ne[i]){if(ne[i] != -1)printf("%05d %d %05d\n", i, e[i], ne[i]);elseprintf("%05d %d -1\n", i, e[i]);}if(delNode.size() > 0){for(int i = 0; i < delNode.size() - 1; i++){printf("%05d %d %05d\n", delNode[i], e[delNode[i]], delNode[i + 1]);}printf("%05d %d -1", delNode[delNode.size() - 1], e[delNode[delNode.size() - 1]]);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/896145.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言实验一作业

实验任务1:#include <stdio.h> int main() {printf(" O \n");printf("<H>\n");printf("I I\n");printf(" O \n");printf("<H>\n");printf("I I\n");return 0; }#include <stdio.h> in…

二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)

二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)@目录二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)2.1 开发环境2.2 创建maven工程2.3 创建User实体2.4 创建MyBatis的核心配置文件2.5 创建mapper接口2.6 创建MyBatis的映射文件2.7配置日志打印2.8 通过junit测…

MongoDB 的开源替代方案FerretD发了 2.0 版

FerretDB 宣布推出 2.0 版本,由 DocumentDB 驱动,作为 MongoDB 的开源替代方案。它带来性能提升、功能兼容性、向量搜索能力和复制支持。FerretDB 基于 Apache 2.0 许可发布,与 MongoDB 的驱动程序和工具兼容,可作为 MongoDB 5.0 及以上版本的直接替代品。FerretDB 2.x 利用…

Project(2)--WBS任务

创建工作分解结构WBS 创建一个初始的项目计划分成三步,依次是创建工作分解结构 设置任务之间的依赖关系 估算工期 选择“自动计划”设置所有新项目 “文件”-》“选项”-》“日程”-》显示层级关系“格式”-》显示大纲数字,查看任务之间的层级关系修改层级关系 选择“任务”-…

Day08_cmd命令

Java cmd命令 盘符切换查看当前目录下的所有文件:dir 切换目录:cd(例如:cd .. 返回上级目录)系统操作清理屏幕:cls 退出终端:exit 查看电脑IP:ipconfig打开应用程序计算器:calc 画图工具:mspaint 记事本:notepad网络命令测试网络连接:ping www.baidu.com文件与目录…

react虚拟dom是什么?是如何提升性能的

虚拟dom是react的核心概念,它使用js对象来反应真实dom的结构。 当组件的状态变更后,react会计算出新的虚拟dom树,并跟前一次的虚拟dom树进行对比,找出差异(也就是需要更新的部分),最后仅将这些差异应用到真实 DOM 中。通过这种方式,React 避免了对真实 DOM 的频繁操作,…

021 Vue加载Element-plus的字体图标

Element-plus不仅是提供了各种组件,同时还提供了一整套的字体图标方便开发者使用 安装icons字体图标 npm install @element-plus/icons-vue 全局注册 在项目目录下,创建plugins文件夹,在文件夹下创建文件icons.js文件plugins 代表插件的意思import * as components from &q…

借助Deepseek写一个python代码来绘画一个五星红旗

第一次我输入“写一个绘制五星红旗的代码”获得了代码如下,但是它并不能进行正常运行,出现了“AttributeError: Screen object has no attribute title on line 6”这样的错误。 点击查看代码 import turtle# 设置屏幕 screen = turtle.Screen() screen.bgcolor("white&…

【程设の旅】第一次上机卡题复盘

别急,先来张美图不开玩笑了 总结一下,就是感觉目前的思维方式还没有完全形成 有点靠惯性做题,虽然出来了九道,但是还是有点打野拳的感觉 第一卡的是4 04:编程填空:两种计数 描述 填写代码,使输出结果为 0 2 1 11 7 11 4 3 #include <iostream> using namespace std…

Vue3创建

1.创建2.导入idea修改调试 (修剪)(修改)HomeView.vue点击查看代码 <template><div>Hollow World</div> </template><!--setup 代表可以使用Vue3的语法特性--> <script setup></script>(精简路由)index.js点击查看代码import { c…

使用vim编辑器和nmcli的方法配置静态网络

目录使用vim编辑器修改网络配置使用nmcli命令配置网络 使用vim编辑器修改网络配置关于vim编辑器的使用方法注意:以下配置都是在NAT网络模式下进行操作的第一步 确定好虚拟机IP网段并确定网关:vim /etc/sysconfig/network-scripts/ifcfg-ens160 #注意上面的ens160可能与你的电…

C++实验

实验1#include<stdio.h> int main() {int x,y,i;i=0;printf("打印次数:");scanf("%i",&x);printf("打印方向(0为竖,1为横向):");scanf("%i",&y);if(y==0) {while(i<x){printf(" o \n");printf("…