第四周项目3—单链表应用(1)
2015-10-12 17:04
197 查看
/* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:项目3.cbp *作 者:张晗 *完成日期:2015年10月12日 *版 本 号:v1.0 * *问题描述:设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,即第一个结 点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成测试。 *输入描述:无 *程序输出:整理后的链表 */
#include "linklist.h" void Reverse(LinkList *&L) { LinkList *p=L->next,*q; L->next=NULL; while (p!=NULL) //扫描所有的结点 { q=p->next; //让q指向*p结点的下一个结点 p->next=L->next; //总是将*p结点作为第一个数据结点 L->next=p; p=q; //让p指向下一个结点 } } 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; }
运行结果:
知识点总结: 利用两个指针完成了单链表的逆置。
相关文章推荐
- 第六周 数制转换
- 第七周上机实践项目2——建立链队算法库
- bzoj2045: 双亲数&bzoj1101: [POI2007]Zap
- 精通Nginx基础篇之安装配置
- Object-C 集合
- Bootstrap 编码规范
- LeftStr函数使用
- 静态方法
- python发送邮件
- 第七周--项目2建立链队算法库
- 第四周 项目三 单链表应用
- 支付宝SDK出现 'openssl/rsa.h' file not found
- TableViewCell自适应高度
- shiro中的缓存的配置与使用
- java开发遇到的问题总结(三)
- ViewPager.setOffscreenPageLimit()预加载问题
- 关于Bootstrap 模态框的产生使用
- 第三周——【项目4 - 顺序表应用】
- linux/centos安装nginx常见错误及解决办法
- c++容器概述