数据结构实验之链表三:链表的逆置

Posted xiaolitongxueyaoshangjin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构实验之链表三:链表的逆置相关的知识,希望对你有一定的参考价值。

数据结构实验之链表三:链表的逆置

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem 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

不得使用数组。

Source

 

 1 #include<stdio.h>
 2 #include<malloc.h>
 3 
 4 struct node
 5 {
 6     int data;
 7     struct node *next;
 8 };
 9 struct node *Creat()
10 {
11     struct node *head,*p;
12     head=(struct node *)malloc(sizeof(struct node));
13     head->next=NULL;
14     p=(struct node *)malloc(sizeof(struct node));
15     scanf("%d",&p->data);
16     while(p->data!=-1)
17     {
18         p->next=head->next;
19         head->next=p;
20         p=(struct node *)malloc(sizeof(struct node));
21         scanf("%d",&p->data);
22     }
23     return (head);
24 }
25 
26 int main()
27 {
28     struct node *head;
29     head=Creat();
30     if(head->next!=NULL)
31     {
32         printf("%d",head->next->data);
33         head=head->next;
34     }
35     while(head->next!=NULL)
36     {
37         printf(" %d",head->next->data);
38         head=head->next;
39     }
40     printf("
");
41     return 0;
42 }

以上是关于数据结构实验之链表三:链表的逆置的主要内容,如果未能解决你的问题,请参考以下文章

双向链表的逆置(两种)

链表的逆置(带表头的单向链表)

单向链表的逆置

链表的逆置(递归)

数据结构之链表(JAVA)

数据结构实验之链表五:单链表的拆分