链表:反转、合并
2013-11-02 15:05
246 查看
关于链表的基础知识,请参考我的其他文档:http://blog.csdn.net/look595271601/article/details/13210725
在实现以下操作之前,还是首先定义基本数据类型:
(1)链表的反转
基本思想:利用一个辅助指针(tmp),用于保存当前指针指向的下一个结点;然后,反转当前结点的指针指向,使其指向前一个结点;最后,利用辅助指针向后遍历。
(2)http://blog.csdn.net/rtyytr/article/details/6776014
(3)合并两个有序链表
http://blog.csdn.net/lalor/article/details/7429989 http://blog.163.com/zhaohai_1988/blog/static/2095100852012620102858311/
在实现以下操作之前,还是首先定义基本数据类型:
typedef struct Node { int data; struct LinkList * next; }LinkNode, *LinkList;
(1)链表的反转
基本思想:利用一个辅助指针(tmp),用于保存当前指针指向的下一个结点;然后,反转当前结点的指针指向,使其指向前一个结点;最后,利用辅助指针向后遍历。
void ReverseList(LinkList &head) { LinkList pre, cur, tmp; if(head == NULL) return; pre = head; cur = head->next; while(cur) { tmp = cur->next; cur->next = pre; pre = cur; cur = tmp; } head->next = NULL; //将原头结点的指针,指向NULL,作为反转后链表的尾指针 head = pre; //此语句不能丢,一定要记得将头结点改变位置 }
(2)http://blog.csdn.net/rtyytr/article/details/6776014
(3)合并两个有序链表
http://blog.csdn.net/lalor/article/details/7429989 http://blog.163.com/zhaohai_1988/blog/static/2095100852012620102858311/
相关文章推荐
- LayoutInflater作用及使用
- 讨论B树索引中的 is null/is not null
- 删除Windows8.1计算机(现在叫”这台电脑的“)中的视屏、图片、文档等个人文件夹
- MediaPlayer/MediaPlayer 视频播放
- RPI pySerial 安装
- 5-4-2
- 4-3-2
- 为什么数组从0开始
- VC 获取鼠标当前位置坐标和RGB
- Xcode无法启动模拟器或者真机
- UVa 541 - Error Correction
- UML drawing tools
- JDBC批量插入、批量删除、批量更新
- Hadoop RPC概述
- UVA 706 - LCD Display(液晶显示器)
- OAF FlexField中数据库与页面的前后台数据类型转换
- Morning Walk UVA 10596
- 事件驱动I/O模型
- Oracle 存储过程 无法编译 解决方法
- Leetcode: Linked List Cycle II