数据结构实验之链表三:链表的逆置
来源:互联网 发布:网络棋牌游戏广告语 编辑:程序博客网 时间:2024/06/02 04:45
数据结构实验之链表三:链表的逆置
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;
}
}
0 0
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 【2118】数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- OJ 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- 数据结构实验之链表三:链表的逆置
- PAT 1005. 继续(3n+1)猜想
- thread包 一个简单的线程实例
- CRC32余式表生成算法
- linux(Mac)常用工具
- 商院1258
- 数据结构实验之链表三:链表的逆置
- Java 类的加载时机
- PAT 1006. 换个格式输出整数
- [Cloud Computing]Mechanisms: Virtual Switch
- findnext, do loop until,查找下一个,循环语句,在一行中取几列,字体格式
- 运行jar指定运行类,同时传参数
- BestCoder Round #85
- Java关键字final、static使用总结
- PAT 1007. 素数对猜想