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

来源:互联网 发布:电脑报淘宝店好吗 编辑:程序博客网 时间:2024/06/05 14:59

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


Problem Description

输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。

Input

输入多个整数,以-1作为结束标志。

Output

输出逆置后的单链表数据。

Example Input

12 56 4 6 55 15 33 62 -1

Example Output

62 33 15 55 6 4 56 12

Hint

不得使用数组。


代码如下:

#include <stdio.h>#include <stdlib.h>typedef struct node{    int data;    struct node *next;}NODE;int main(){    int data;    NODE *L=(NODE*)malloc(sizeof(NODE));//头结点,注意头结点的数据域为空!    L->next = NULL;//考虑是空表的情况    NODE *s=(NODE*)malloc(sizeof(NODE));    scanf("%d",&data);    while(data!=-1)    {        s=(NODE*)malloc(sizeof(NODE));        s->data = data;        s->next=L->next;        L->next=s;        scanf("%d",&data);    }    L=L->next;//因为头结点的指针域为空,所以遍历数从下一个节点开始    while(L)    {        printf("%d ",L->data);        L=L->next;    }    return 0;}
原创粉丝点击