6-1 单链表逆转(20 point(s))
来源:互联网 发布:淘宝退货折旧费怎么算 编辑:程序博客网 时间:2024/05/29 16:12
6-1 单链表逆转(20 point(s))
本题要求实现一个函数,将给定的单链表逆转。
函数接口定义:
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 1code:
List Reverse( List L ){//从头上顺序插入元素即可逆转 List p,q; p = L; L = NULL;//要返回的指针 while(p!=NULL){//遍历 List temp;//临时指针 temp = L;//先临时保存下q之前后面所指的一串 L = p;//在q的后面直接插入L中的下一个元素 p = p->Next;//L下一个元素 L->Next = temp;//再让这个插入的元素的下一个等于刚才已有的一串,实现在头上插入元素***** }//注意!!!!9,10行的语句不可以交换如果交换后原来的串就丢失了,9行这句话就是为了先保存下后面的一串 return L;}
阅读全文
0 0
- 6-1 单链表逆转(20 point(s))
- 6-2 顺序表操作集(20 point(s))
- 6-5 链式表操作集(20 point(s))
- 6-9 求二叉树高度(20 point(s))
- 6-13 Percolate Up and Down(20 point(s))
- 6-14 Add Two Polynomials(20 point(s))
- 6-19 Count Connected Components(20 point(s))
- 6-1 PTA 单链表逆转
- 6-7 Deque(25 point(s))
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1 单链表逆转 (20分)
- 4-1单链表逆转
- 4-1 单链表逆转
- Java 数据 -- 集合
- 跟大师学习系统编程---操作系统加载(7)
- 实现网页布局
- NOIP复赛复习(八)STL算法与树结构模板
- Android Studio的安装与下载
- 6-1 单链表逆转(20 point(s))
- IntelliJ IDEA中怎么查看文件中所有方法(类似eclipse里面的outline)
- 任玉刚:让你的职业迷茫从哪来回哪去
- 6-2 顺序表操作集(20 point(s))
- 安卓四大组件和进程之间关系
- 第一次做表格的样式
- NOIP复赛复习(七)STL容器与字符串模板
- 6-3 求链式表的表长(10 point(s))
- 推荐一个公众号【前端日刊】,干货很多