zoukankan      html  css  js  c++  java
  • L2002 链表去重 (25 分)

    L2-002 链表去重 (25 分)

    给定一个带整数键值的链表 \(L\),你需要把其中绝对值重复的键值结点删掉。即对每个键值 \(K\),只有第一个绝对值等于 \(K\) 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 \(L\)\(21→-15→-15→-7→15\),你需要输出去重后的链表 \(21→-15→-7\),还有被删除的链表 \(-15→15\)

    输入格式:

    输入在第一行给出 \(L\) 的第一个结点的地址和一个正整数 \(N \; (\leq 10^{5},为结点总数)\)。一个结点的地址是非负的 \(5\) 位整数,空地址 \(NULL\)\(−1\) 来表示。
    随后 \(N\) 行,每行按以下格式描述一个结点:

    地址 键值 下一个结点
    

    其中地址是该结点的地址,键值是绝对值不超过 \(10^{4}\) 的整数,下一个结点是下个结点的地址。

    输出格式:

    首先输出去重后的链表,然后输出被删除的链表。每个结点占一行,按输入的格式输出。

    输入样例:

    00100 5
    99999 -7 87654
    23854 -15 00000
    87654 15 -1
    00000 -15 99999
    00100 21 23854
    

    输出样例:

    00100 21 23854
    23854 -15 99999
    99999 -7 -1
    00000 -15 87654
    87654 15 -1
    

    参考代码:

    #include<bits/stdc++.h>
    using namespace std;
    #define maxn 100005
    int s,n,x,ans1[maxn],ans2[maxn],cnt1,cnt2;
    bool vis[maxn];
    struct L{int pre,now,val,nxt;}lst[maxn];
    int main()
    {
        cin>>s>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>x;
            cin>>lst[x].val>>lst[x].nxt;
        }
        for(int i=s;i!=-1;i=lst[i].nxt)
        {
            if(vis[abs(lst[i].val)])ans2[++cnt2]=i;
            else
            {
                vis[abs(lst[i].val)]=1;
                ans1[++cnt1]=i;
            }
        }
        for(int i=1;i<=cnt1;i++)
        {
            cout<<setw(5)<<setfill('0')<<ans1[i]<<' '<<lst[ans1[i]].val<<' ';
            if(i<cnt1)cout<<setw(5)<<setfill('0')<<ans1[i+1]<<endl;
            else cout<<-1<<endl;
        }
        for(int i=1;i<=cnt2;i++)
        {
            cout<<setw(5)<<setfill('0')<<ans2[i]<<' '<<lst[ans2[i]].val<<' ';
            if(i<cnt2)cout<<setw(5)<<setfill('0')<<ans2[i+1]<<endl;
            else cout<<-1<<endl;
        }
        return 0;
    }
    
  • 相关阅读:
    ABAP 程序中的类 沧海
    ABAP类的方法(转载) 沧海
    More than 100 ABAP Interview Faq's(2) 沧海
    SAP and ABAP Memory总结 沧海
    ABAP Frequently Asked Question 沧海
    ABAP System Reports(Additional functions) 沧海
    ABAP Questions Commonly Asked 1 沧海
    ABAP Tips and Tricks 沧海
    ABAP System Fields 沧海
    ABAP 面试问题及答案(一):数据库更新及更改 SAP Standard (转) 沧海
  • 原文地址:https://www.cnblogs.com/LengYun/p/14687723.html
Copyright © 2011-2022 走看看