1052. Linked List Sorting (25)

来源:互联网 发布:调查问卷统计分析软件 编辑:程序博客网 时间:2024/05/01 23:50

IDEA

1.如果start address==-1,则直接输出 0 -1,不用再执行下面操作,如果执行了会数组越界


CODE

#include<iostream>#include<cstdio>#include<vector> #include<map> #include<algorithm>#include<fstream>using namespace std;#define Max 100000struct Node{int add;int key;int next;};vector<Node> vec(Max);vector<Node> res;int cmp(Node node1,Node node2){return node1.key<node2.key;}int main(){#ifndef ONLINE_JUDGEfreopen("input.txt","r",stdin);#endifint n,start;cin>>n>>start;for(int i=0;i<n;i++){Node node;cin>>node.add>>node.key>>node.next;vec[node.add]=node;}if(start==-1){printf("0 -1\n");}else{int p=start;while(p!=-1){res.push_back(vec[p]);p=vec[p].next;}sort(res.begin(),res.end(),cmp);for(int i=1;i<res.size();i++){res[i-1].next=res[i].add;}res[res.size()-1].next=-1;printf("%d %05d\n",res.size(),res[0].add);for(int i=0;i<res.size()-1;i++){printf("%05d %d %05d\n",res[i].add,res[i].key,res[i].next);}printf("%05d %d %d\n",res[res.size()-1].add,res[res.size()-1].key,res[res.size()-1].next);}#ifndef ONLINE_JUDGEfclose(stdin);#endifreturn 0;}


0 0
原创粉丝点击