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

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

Time Limit: 1000MS Memory Limit: 65536KB

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

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct node
{
	int data;
	struct node *next;
}list;
int main()
{
	list *p,*head;
	head = (list *)malloc(sizeof(list));
	head->next = NULL;
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		if(n==-1)
		{
			break;
		}
		else
		{
			p = (list *)malloc(sizeof(list));
			p->data = n;
			p->next = head->next;
			head->next = p;
		}
	}
	p = head->next;
	while(p)
	{
		if(p->next!=NULL)
		{
			printf("%d ",p->data);
		}
		else
		{
			printf("%d\n",p->data);
		}
		p=p->next;
	}

	return 0;
}

只允许蒋文文转载。


原文地址:https://www.cnblogs.com/CCCrunner/p/6444610.html