题目描述
输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。
输入
输入多个整数,以-1作为结束标志。
输出
输出逆置后的单链表数据。
示例输入
12 56 4 6 55 15 33 62 -1
示例输出
62 33 15 55 6 4 56 12
提示
不得使用数组。
来源
示例程序
不知道是不是否合题意,直接用的头插入
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct shulie
{
int shu;
struct shulie *sh;
};
int main()
{
struct shulie *head = NULL;
struct shulie *bl = NULL;
struct shulie *tmp = NULL;
int n,i;
while(scanf("%d",&n))
{
if(n == -1)
break;
else
{
bl = (struct shulie *)malloc(sizeof(struct shulie));
bl ->sh = head;
bl ->shu = n;
head = bl;
}
}
bl = head;
i = 0;
while(bl != NULL)
{
if(i == 0)
printf("%d",bl ->shu);
else
printf(" %d",bl ->shu);
bl = bl ->sh;
i++;
}
return 0;
}