逆置双向链表 Reverse a doubly linked list
来源:互联网 发布:linux各版本 编辑:程序博客网 时间:2024/06/14 00:28
逆转单链表,参见http://blog.csdn.net/ojshilu/article/details/9312239。
本文是要逆转双向链表,其基本思想是一致的。只是要考虑的多一些。头尾结点都会出现NULL。
双线链表结点的结构为
struct Node { int data; Node *next; Node *prev }
这是个细心活,难度不大。尤其注意两次循环前后的衔接。
代码:
Node* Reverse(Node* head){ Node *p, *q; p = NULL; if(head != NULL) q = head->next; while(head != NULL) { head->next = p; head->prev = q; if(p != NULL) p->prev = head; p = head; head = q; if(q != NULL) { q = q->next; head->next = p; } } return p;}
上面的每次操作中,位置关系都是 …p — head — q…
0 0
- 逆置双向链表 Reverse a doubly linked list
- 双向链表(Doubly Linked List)
- 【Hackerrank】Reverse a doubly linked list
- Circular Doubly Linked List 双向循环链表 C++ 例子
- Reverse a doubly linked list in O(1) time
- 双向链表的C++实现 Implement of Doubly Linked List
- 【数据结构】Doubly-Linked List双向链表(更新时间:2016-04-13)
- Glib学习(2) 双向链表 Doubly-Linked Lists
- HWK:A doubly linked list using class
- (转)A Memory-Efficient Doubly Linked List
- A Memory-Efficient Doubly Linked List
- 用数组实现栈(Stacks)、队列(Queue)和双向链表(Doubly Linked List)的伪代码
- XOR Linked List – A Memory Efficient Doubly Linked List
- Doubly linked list
- Doubly Linked List
- reverse a linked list
- Reverse a linked list.
- Reverse a linked list
- 编译原理大作业《软件测试的初识》
- UISlider控件
- [跨平台C++] 返回const char* 类型的函数样板
- Use Sqlite in Python
- 关于SQLite3 编译及交叉编译的一些问题
- 逆置双向链表 Reverse a doubly linked list
- Ubuntu 13.04 解决 QQ 问题:pidgin-lwqq
- 拥抱原型面向对象编程
- ZOJ-2988
- UISegmentedControl分段控件
- AM335X ARM CORTEX-A8 微处理器技术参考手册 (中文版详解)1
- php数组的key不能重复,重复时的解决方案
- CATransition 动画
- 关于事务开启与否对数据库插入数据所需时间的影响的讨论