pta的一个题目1025 反转链表
在pta上通过了
在自己的编译器输入不了
#include<stdio.h>
#include<stdlib.h>
typedef struct{
int address;
int data;
int next;
}Node;
int main()
{
int i, j, addr, n, k;
scanf("%d %d %d", &addr, &n, &k);
Node origin[100000], sort[100000], temp;
for(i=0; i<n; i++){
scanf("%d %d %d", &temp.address, &temp.data, &temp.next);
origin[temp.address]=temp;
}
for(i=0; i<n; i++){
sort[i]=origin[addr];
addr=sort[i].next;
if(addr==-1){
n=i+1;
break;
}
}
for(i=0; i<n/k; i++){
for(j=0; j<k/2; j++){
temp=sort[j+i*k];
sort[j+i*k]=sort[k-j-1+i*k];
sort[k-j-1+i*k]=temp;
}
}
for(i=0; i<n; i++){
if(i!=n-1){
sort[i].next=sort[i+1].address;
printf("%05d %d %05d\n", sort[i].address, sort[i].data, sort[i].next);
}
else{
sort[i].next=-1;
printf("%05d %d %d\n", sort[i].address, sort[i].data, sort[i].next);
}
}
}