单链表反转问题(带头结点 和 不带头结点的 创建链表过程等)
2017-05-23 15:59
295 查看
http://blog.csdn.net/zwhlxl/article/details/45724771
结构体指针 去结构体成员属性 用 ->
链域 === next域
如果有头结点 *L 表示头结点
L 表示头指针
对转载文章的 剖析
current = (*L) -> next a1
pnext = current -> next a2
因为第一个结点最后反转 完毕 肯定是 尾结点
while (pnext) <=> while (a2)
(a2)
prev =pnext -> next a3
(a2) (a1)
pnext -> next = current a1
current = next (a2)
pnext = prev (a3)
① a2 -> a1 current a2
②
a3 -> a2 -> a1 current a3
③ a4 -> a3 ->a2 -> a1 current a4
(*L) -> next = a4
结构体指针 去结构体成员属性 用 ->
链域 === next域
如果有头结点 *L 表示头结点
L 表示头指针
对转载文章的 剖析
current = (*L) -> next a1
pnext = current -> next a2
因为第一个结点最后反转 完毕 肯定是 尾结点
while (pnext) <=> while (a2)
(a2)
prev =pnext -> next a3
(a2) (a1)
pnext -> next = current a1
current = next (a2)
pnext = prev (a3)
① a2 -> a1 current a2
②
a3 -> a2 -> a1 current a3
③ a4 -> a3 ->a2 -> a1 current a4
(*L) -> next = a4
相关文章推荐
- 续:一个带头结点的单链表反转(递归)
- 每天一个小程序(2)——带头结点的链表的创建以及插入和删除
- 不带头结点,头部插入法创建链表
- 带头结点的链表的地址问题
- 链表的创建,插入,删除,查询,合并,清空,销毁(带头结点)
- 带头结点头部插入创建链表
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++不带头结点的单循环链表解决约瑟夫环问题
- 约瑟夫环问题(不带头结点单循环链表实现和数组实现)
- 数据结构研究--尾插法创建带头结点的单链表
- C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
- 反转带头结点的链表
- 不带头结点链表存在的问题
- C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
- 带头结点的单链表( 冒泡排序 一次遍历求中间结点的值) 链表 就地反转 倒数第k个结点
- 带头结点的链表的创建与操作
- 不带头结点链表,尾部插入法创建
- 一个带头结点的单链表反转
- 不带头结点的单链表反转 三种不同方法实现
- 带头结点的单链表反转