L2-002. 链表去重(数组模拟)

时间:2022-09-12 10:51:26

L2-002. 链表去重

因为数值比较小,所以直接用数组来模拟

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
using namespace std; #define maxn 100005 struct node
{
int key;
int next;
}a[maxn]; int main()
{
int first,n,add;
scanf("%d%d",&first,&n);
for(int i=;i<n;i++)
{
scanf("%d",&add);
scanf("%d%d",&a[add].key,&a[add].next);
} //去重:直接再开两个数组记录去重后两个链表的地址
int num,vis[]={},t1=,t2=;
int a1[maxn],a2[maxn];
for(int i=first;i!=-;i=a[i].next)
{
num=abs(a[i].key);
if(!vis[num])
{
vis[num]=;
a1[t1++]=i;
}
else
a2[t2++]=i; } printf("%05d %d ",a1[],a[a1[]].key);
for(int i=;i<t1;i++)
{
printf("%05d\n",a1[i]);
printf("%05d %d ",a1[i],a[a1[i]].key);
}
printf("-1\n"); if(t2)
{
printf("%05d %d ",a2[],a[a2[]].key);
for(int i=;i<t2;i++)
{
printf("%05d\n",a2[i]);
printf("%05d %d ",a2[i],a[a2[i]].key);
}
printf("-1\n");
} return ;
}

L2-002. 链表去重(数组模拟)的更多相关文章

  1. L2-002&period; 链表去重(模拟)

    题意: 给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点.即对任意键值K,只有键值或其绝对值等于K的第一个结点可以被保留.同时,所有被删除的结点必须被保存在另外一个链 ...

  2. 【数组模拟的链表or复杂模拟】PAT-L2-002&period; 链表去重

    L2-002. 链表去重 给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点.即对任意键值K,只有键值或其绝对值等于K的第一个结点可以被保留.同时,所有被删除的结点必须 ...

  3. Problem UVA12657-Boxes in a Line(数组模拟双链表)

    Problem UVA12657-Boxes in a Line Accept: 725  Submit: 9255 Time Limit: 1000 mSec Problem Description ...

  4. UVA11988-Broken Keyboard(数组模拟链表)

    Problem UVA11988-Broken Keyboard Accept: 5642  Submit: 34937 Time Limit: 1000 mSec Problem Descripti ...

  5. C - Boxes in a Line 数组模拟链表

    You have n boxes in a line on the table numbered 1 . . . n from left to right. Your task is to simul ...

  6. B - Broken Keyboard &lpar;a&period;k&period;a&period; Beiju Text&rpar; 数组模拟链表

    You're typing a long text with a broken keyboard. Well it's not so badly broken. The only problem wi ...

  7. UVa 12657 Boxes in a Line(数组模拟双链表)

    题目链接 /* 问题 将一排盒子经过一系列的操作后,计算并输出奇数位置上的盒子标号之和 解题思路 由于数据范围很大,直接数组模拟会超时,所以采用数组模拟的链表,left[i]和right[i]分别表示 ...

  8. POJ - 3476 A Game with Colored Balls---优先队列&plus;链表(用数组模拟)

    题目链接: https://cn.vjudge.net/problem/POJ-3476 题目大意: 一串长度为N的彩球,编号为1-N,每个球的颜色为R,G,B,给出它们的颜色,然后进行如下操作: 每 ...

  9. 数组模拟单向链表例题(UVa11988)

    指针的链表实现方式是,当前节点的next指向下一个节点,用数组模拟就是 for(int i=next[0];i!=0;i=next[i]) i=next[i]:就是一条链. 例题: 你有一个破损的键盘 ...

随机推荐

  1. 【oracle】oracle学习笔记2--scoot账户的激活与解锁

    1.用sysz账户as sysddba登录,并执行scott.sql文件.我的文件目录是C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin ...

  2. Open Credit System

    Open Credit SystemInput: Standard Input Output: Standard Output In an open credit system, the studen ...

  3. TFS如何设置在客户端独占签出

    步骤:1.打开源代码管理资源管理器,点击“工作区”的下拉框,选择,“工作区”2.选择编辑3.选择“高级”4.进入编辑工作区,tfs中“位置”选项中,默认的时本地,如果想独占签出,这里我们就必须设置成“ ...

  4. BIOS启动项中的设备都有哪些

    Floppy 软式磁盘驱动器,简称FDD,也就是我们平时所说的软驱. CD-ROM 不用多说了,大家都知道,这是光盘驱动器,也就是我们平时说得光驱. SCSI SCSI的全名是:Small Compu ...

  5. hadoop 异常及处理总结-01&lpar;小马哥-原创&rpar;

    试验环境: 本地:MyEclipse 集群:Vmware 11+ 6台 Centos 6.5 Hadoop版本: 2.4.0(配置为自动HA) 试验背景: 在正常测试MapReduce(下简称MR)程 ...

  6. Input框去掉蓝色边框

    Input框去掉蓝色边框: <input type="text" name="" value="" class="Inpt& ...

  7. plsqldev与sqldeveloper

    plsqldev连接 1.连接不同服务器,要修改tnsnames.ora文件,具体如下修改如下位置 # tnsnames.ora Network Configuration File: \app\us ...

  8. 杨老师课堂&lowbar;Java核心技术下之控制台模拟微博用户注册案例

    案例设计背景介绍: 编写一个新浪微博用户注册的程序,要求使用HashSet集合实现.  假设当用户输入用户名.密码.确认密码.生日(输入格式yyyy-mm-dd为正确).手机号码(手机长度为11位,并 ...

  9. Lua&OpenCurlyDoubleQuote;控制”C

    [前言] Lua语言本身是一个功能非常有限,而比较单调的语言,而且标准库也非常的平庸,它的NB之处就在于,它能和C.C++等高级语言完美“私通”.我们可以使用C.C++语言去给Lua写一个完美的库,让 ...

  10. Android之androidmainfest&period;xml配置文件详解

    写配置文件的时候我们会不知道把那些配置项放在哪里,请看: 配置文件样例: <?xml version="1.0" encoding="utf-8"?&gt ...