zoukankan      html  css  js  c++  java
  • 1133 Splitting A Linked List (25 分)

    水~。

    const int N=1e5+10;
    struct Node
    {
        int addr,data,nxt;
    }a[N];
    int head,n,k;
    
    void add(vector<Node> &res,vector<Node> &v)
    {
        for(int i=0;i<v.size();i++)
            res.pb(v[i]);
    }
    
    int main()
    {
        cin>>head>>n>>k;
    
        for(int i=0;i<n;i++)
        {
            int addr,data,nxt;
            cin>>addr>>data>>nxt;
            a[addr]={addr,data,nxt};
        }
    
        vector<Node> neg,range,other;
        int p=head;
        while(p != -1)
        {
            if(a[p].data < 0) neg.pb(a[p]);
            else if(a[p].data >= 0 && a[p].data <= k)
                range.pb(a[p]);
            else
                other.pb(a[p]);
            p=a[p].nxt;
        }
    
        vector<Node> res;
        add(res,neg);
        add(res,range);
        add(res,other);
    
        for(int i=0;i<res.size();i++)
            if(i == res.size()-1)
                printf("%05d %d -1
    ",res[i].addr,res[i].data);
            else
                printf("%05d %d %05d
    ",res[i].addr,res[i].data,res[i+1].addr);
        //system("pause");
        return 0;
    }
    

    也可以使用insert函数。

        vector<Node> res;
        res.insert(res.end(),neg.begin(),neg.end());
        res.insert(res.end(),range.begin(),range.end());
        res.insert(res.end(),other.begin(),other.end());
    
  • 相关阅读:
    原来 是 需要的,
    传说中的 拉伸,
    date + 排序,
    两个 header,
    招财铃,负责模块,
    一个字母,
    一个词,
    vue+webpack静态资源路径引用
    Webstorm 的 Tab 键调整缩进值
    ES6常用语法
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14475458.html
Copyright © 2011-2022 走看看