PAT 1074 Reversing Linked List

来源:互联网 发布:清理手机垃圾的软件 编辑:程序博客网 时间:2024/05/11 17:06

题目链接

AC代码

#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;int list[100010];int node[100010][2];int main(){//  freopen("F:\\in1.txt","r",stdin);    int str,num,r;    scanf("%d %d %d",&str,&num,&r);    int address,data,next,i=0;    for(int i=0;i<num;i++)    {        scanf("%d %d %d",&address,&data,&next);        node[address][0] = data;        node[address][1] = next;    }    int m = 0,n = str;    while(n!=-1)    {        list[m++] = n;        n = node[n][1];    }    while(i+r<=m)    {        reverse(list+i,list+i+r);        i = i + r;    }    for(i=0;i<m-1;i++)    {        printf("%05d %d %05d\n",list[i],node[list[i]][0],list[i+1]);    }    printf("%05d %d -1\n",list[i],node[list[i]][0]);}
0 0
原创粉丝点击