4-1 单链表逆转 (20分)
来源:互联网 发布:红顶位面商人知轩 编辑:程序博客网 时间:2024/06/05 06:37
本题要求实现一个函数,将给定的单链表逆转。
函数接口定义:
List Reverse( List L );
其中List
结构定义如下:
typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类型 */
L
是给定单链表,函数Reverse
要返回被逆转后的链表。
裁判测试程序样例:
#include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct Node *PtrToNode;struct Node { ElementType Data; PtrToNode Next;};typedef PtrToNode List;List Read(); /* 细节在此不表 */void Print( List L ); /* 细节在此不表 */List Reverse( List L );int main(){ List L1, L2; L1 = Read(); L2 = Reverse(L1); Print(L1); Print(L2); return 0;}/* 你的代码将被嵌在这里 */
输入样例:
51 3 4 5 2
输出样例:
12 5 4 3 1
#include <stdio.h>
#include <stdlib.h>
typedef int ElementType;
typedef struct Node *PtrToNode;
struct Node {
ElementType Data;
PtrToNode Next;
};
typedef PtrToNode List;
List Read(); /* ϸ½ÚÔڴ˲»±í */
void Print( List L ); /* ϸ½ÚÔڴ˲»±í */
List Reverse( List L );
int main()
{
List L1, L2;
L1 = Read();
L2 = Reverse(L1);
Print(L1);
Print(L2);
return 0;
}
List Reverse( List L )
{
List p,q,t;
p = L,q = NULL;
while(p != NULL) {
t = p->Next;
p->Next = q;
q = p;
p =t;
}
return q;
}
List Read()
{
int N,i;
List p,q,Tmp;
scanf("%d",&N);
if(N == 0)
return NULL;
q = Tmp = (List)malloc(sizeof(struct Node));
scanf("%d",&Tmp->Data);
Tmp->Next = NULL;
N--;
for(i = 0;i<N;i++) {
p = (List)malloc(sizeof(struct Node));
p->Next = NULL;
scanf("%d",&p->Data);
q->Next = p;
q = p;
}
return Tmp;
}
void Print( List L )
{
if(L == NULL)
return;
for(; L != NULL; L = L->Next)
printf("%d ", L->Data);
putchar('\n');
}
上传代码时编译错误。。。。。重复定义。。
妈蛋。。这个题是让上传一个函数就好 不用全部上传。。。看清题。。。
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- PTA数据结构与算法题目集(中文)4-1 单链表逆转 (20分)
- 4-1单链表逆转
- 4-1 单链表逆转
- 4-1 单链表逆转
- 王仕鹏压哨三分 中国1分逆转晋级
- 6-1 PTA 单链表逆转
- 6-1 单链表逆转(20 point(s))
- 单链表逆转
- 逆转单链表
- 单链表逆转
- 逆转单链表
- C++ Primer 第17章 知识点回顾
- 谍影重重5 百度云/迅雷/BT种子1080P高清版下载
- java中String的粗浅使用
- 分类的线性回归方法
- 整数
- 4-1 单链表逆转 (20分)
- String、StringBuffer & StringBuilder的区别
- 命令行建表
- Pixhawk---在cmake编译方式下新建一个自定义主题
- 解读express 4.x源码
- android studio 常用快捷键
- GOF之解释器模式
- C++学习笔记——erase删除字符串中特定字符 由leetcode383题想到的
- dojox.widget.rotator.Controller