第四周项目3-单链表应用
2015-09-25 09:28
423 查看
/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目3--单链表应用(1).cpp 作 者:高露 完成日期:2015年9月25日 版 本 号:v1.0 问题描述:1、设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置, 即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成测试。 输入描述:若干数据 。 程序输出:链表中的数据及逆序拍好后的数据。 */ /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目3--单链表应用(1).cpp 作 者:刘强 完成日期:2015年9月23日 版 本 号:v1.0 问题描述:1、设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置, 即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成测试。 输入描述:若干数据 。 程序输出:链表中的数据及逆序拍好后的数据。 */ 算法库链接 [cpp] view plaincopyprint? #include"linklist.h" int main() { linklist *L; ElemType a[]= {1,3,5,7, 2,4,8,10}; CreateListR(L,a,8); printf("L:"); DispList(L); Reverse(L); printf("逆置后L: "); DispList(L); DestroyList(L); return 0; } #include"linklist.h" int main() { linklist *L; ElemType a[]= {1,3,5,7, 2,4,8,10}; CreateListR(L,a,8); printf("L:"); DispList(L); Reverse(L); printf("逆置后L: "); DispList(L); DestroyList(L); return 0; } [cpp] view plaincopyprint? void Reverse(linklist *l) { linklist *p,*q; p=l->next; l->next=NULL; while(p!=NULL) { q=p->next; p->next=l->next; l->next=p; p=q; } }
运行结果:
知识点总结:
还是链表的知识,关键在于如何逆置。
学习心得:总是想不到程序的方法,碰到很多问题,自己并没有解决出来,问的同学才明白。。。。
相关文章推荐
- JS+CSS实现仿支付宝菜单选中效果代码
- 互联网创业必备工具盘点
- POJ 2096 期望DP
- HDU 4403 DFS
- 基类BaseViewController
- 游戏场景切换的问题
- 网络基础知识----五项协议
- Training
- Java基础知识强化77:正则表达式之获取功能(Pattern 和 Matcher类的使用)
- 深入浅出Extjs4.1.1视频教程
- 第四周项目2—建设单链表算法库
- 一根网线+连接wifi的笔记本+树莓派联网
- 第3周项目3 求集合并集
- Android判断Service是否开启
- linux 下route命令
- UI:简单的SQL语句
- 第三周项目3 求集合并集
- KeyTapGesture类(Leap:: KeyTapGesture)
- Android往SD卡写数据范例
- 扫描网站漏洞的软件