数据结构实验之链表三:链表的逆置
2017-10-07 14:18
495 查看
数据结构实验之链表三:链表的逆置
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<malloc.h> struct node{ int data; struct node *next; }; struct node *creat(){ struct node *head, *tail, *p; head = (struct node*)malloc(sizeof(struct node)); head->next = NULL; tail = head; while(1){ p = (struct node*)malloc(sizeof(struct node)); scanf("%d", &p->data); if(p->data==-1)break; p->next = NULL; tail->next = p; tail = p; } return head; }; void inverse(struct node *head){ struct node *p, *q; p = head->next; head->next = NULL; q = p->next; while(p){ p->next = head->next; head->next = p; p = q; if(q){ q = q->next; } } } void show(struct node *head){ struct node *p; p = head->next; while(p){ printf("%d%c", p->data, p->next==NULL?'\n':' '); p = p->next; } } int main(){ struct node *head; head = creat(); inverse(head); show(head); return 0; }
9e06
相关文章推荐
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- SDUT 2118数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- sdut 2118-数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- SDUT OJ 数据结构实验之链表三:链表的逆置
- SDUT_2118 数据结构实验之链表三:链表的逆置
- sdut.acm2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 【2118】数据结构实验之链表三:链表的逆置
- sdutacm-数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置