|
|
back to boardwhy? not correct! it can run in my com my program use pointer to structure and it can run in my TC #include<stdio.h> #include<string.h> #include<stdlib.h> struct node{ long info; struct node *next; }; typedef struct node *NODE; NODE getnode(long x) { NODE newnode = (NODE)malloc(sizeof(struct node)); newnode->info = x; newnode->next=NULL; return newnode; } main() { long n,j,i; long no,num; char get[20]; NODE temp; NODE stack[1002]; NODE run; memset(stack,NULL,sizeof(stack)); scanf("%ld",&n); for(j=1;j<=n;j++) { fflush(stdin); gets(get); if(get[0]=='P'&&get[1]=='U'&&get[2]=='S'&&get[3]=='H') { i=5; no = atoi(get+i); for(i=5;get[i]!=' ';i++); num = atoi(get+i+1); if(stack[no]==NULL) stack[no]=getnode(num); else { temp = stack[no]; stack[no]= getnode(num); stack[no]->next=temp; } } else if(get[0]=='P'&&get[1]=='O'&&get[2]=='P') { i=4; no = atoi(get+i); if(stack[no]->next==NULL) { temp = stack[no]; stack[no]=NULL; } else { temp = stack[no]; stack[no]=stack[no]->next; } if(stack[1001]==NULL) stack[1001]=getnode(temp->info); else { run = stack[1001]; for(;run->next!=NULL;run=run->next); run->next= getnode(temp->info); } free(temp); } } while(stack[1001]!=NULL) { printf("%ld",stack[1001]->info); stack[1001]=stack[1001]->next; if(stack[1001]!=NULL) printf("\n"); } return 0; } |
|
|