本文共 1002 字,大约阅读时间需要 3 分钟。
数据结构实验之链表三:链表的逆置
Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description
输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。 Input 输入多个整数,以-1作为结束标志。 Output 输出逆置后的单链表数据。 Sample Input 12 56 4 6 55 15 33 62 -1 Sample Output 62 33 15 55 6 4 56 12 Hint 不得使用数组。代码如下:
#include#include #include struct node{ int data; struct node*next;};int main(){ struct node *head,*p,*tail,*q,*r; head=(struct node*)malloc(sizeof(struct node)); head->next=NULL; tail=head; while(1) { p=(struct node*)malloc(sizeof(struct node)); scanf("%d",&p->data); if(p->data==-1)break; p->next=NULL; tail->next=p; tail=p; } p=head->next; head->next=NULL; q=p->next; while(p) { p->next=head->next; head->next=p; p=q; if(q) { q=q->next; } } r=head; while(r->next!=NULL) { printf("%d ",r->next->data); r=r->next; } return 0;}
转载地址:http://hwhwi.baihongyu.com/