您的位置:首页 > 编程语言 > C语言/C++

链表的逆置

2016-08-05 13:22 330 查看

题目描述

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

输入

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

输出

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

示例输入

12 56 4 6 55 15 33 62 -1

示例输出

62 33 15 55 6 4 56 12
#include <stdio.h>#include <stdlib.h>struct node{int data;struct node *next;};struct node *create(int x){struct node *head,*p;head=(struct node*)malloc(sizeof(struct node));head->next=NULL;p=(struct node*)malloc(sizeof(struct node));p->next=NULL;while(scanf("%d",&p->data)!=EOF&&(p->data!=-1)){p->next=head->next;head->next=p;p=(struct node*)malloc(sizeof(struct node));p->next=NULL;}return (head);};void print(struct node *h){struct node *p=h->next;while(p!=NULL){if(p->next==NULL)printf("%d",p->data);elseprintf("%d ",p->data);p=p->next;}}int main(){struct node *p=create(1);print(p);return 0;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息