数据结构实验之链表三:链表的逆置
2016-08-01 09:10
316 查看
数据结构实验之链表三:链表的逆置
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
输入多个整数,以-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>
typedef struct LNode
{
LNode *next;
int data;
} LNode,*linklist;
linklist create(LNode *L)
{
LNode *p,*tail;
int m;
L=(linklist)malloc(sizeof(LNode));
L->next=NULL;
tail=L;
while(scanf("%d",&m),m!=-1)
{
p=(linklist)malloc(sizeof(LNode));
p->data=m;
p->next=NULL; //指空;
tail->next=p; //连接到tail之后;
tail=p; //tail 后移;
}
return L;
}
linklist Inverse(LNode *L){
LNode *p,*k,*q;
p=L->next; //将p代表第一个节点;
L->next=NULL; //独立出L;
while (p!=NULL) { //类似于逆序建链表一样,将p及以后的节点连接到L后;
q=p->next;
p->next=L->next;
L->next=p;
p=q;
}
return L;
}
int main()
{
int i=1;
LNode *l,*p;
l=create(l);
l=Inverse(l);
p=l->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
}
相关文章推荐
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 【2118】数据结构实验之链表三:链表的逆置
- 寒假第二天--线性表-- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 暑假集训第1天链表-数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 【2118】数据结构实验之链表三:链表的逆置 (SDUT)
- 数据结构实验之链表三:链表的逆置 (SDUT 2118)
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- sdut.acm2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表三:链表的逆置
- OJ 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 2118数据结构实验之链表三:链表的逆置