#include<stdio.h> #define ERROR -1 typedef struct NODE { int data; struct NODE *next; }NODE,*LNODE; int main() { int i,j; int n; LNODE head=(LNODE)malloc(sizeof(NODE)); LNODE p,q,temp; LNODE tail; head->next=NULL; tail=head; scanf("%d",&n); for(i=0;i<n;i++) { p=(LNODE)malloc(sizeof(NODE)); if(!p) return ERROR; scanf("%d",&(p->data)); p->next=NULL; tail->next=p; tail=p; } p=head->next; temp=p->next; while(p&&temp) { q=temp; temp=temp->next; q->next=p; if(p==head->next) { p->next=NULL; } p=q; } head->next=p; q=head->next; while(q) { printf("%d ",q->data); q=q->next; } return 0; }