双向链表翻转
来源:互联网 发布:长虹网络电视机顶盒 编辑:程序博客网 时间:2024/05/21 09:02
package mainimport ( "fmt")type Node struct { NextNode *Node LastNode *Node Data interface{}}func main() { var node0 = new(Node) var node1 = new(Node) var node2 = new(Node) var node3 = new(Node) var node4 = new(Node) var node5 = new(Node) node0.LastNode = nil node0.NextNode = node1 node0.Data = 0 node1.LastNode = node0 node1.NextNode = node2 node1.Data = 1 node2.LastNode = node1 node2.NextNode = node3 node2.Data = 2 node3.LastNode = node2 node3.NextNode = node4 node3.Data = 3 node4.LastNode = node3 node4.NextNode = node5 node4.Data = 4 node5.LastNode = node4 node5.NextNode = nil node5.Data = 5 node0.PrintNodes() fmt.Println("...") // node5.PrintNodes() node0.Reverse() fmt.Println("...") node5.PrintNodes()}func (node *Node) Reverse() { if node == nil { return } for { fmt.Println("4444") tempNode := node.NextNode node.NextNode = node.LastNode node.LastNode = tempNode node = node.LastNode if node == nil { break } }}func (node *Node) PrintNodes() { for j := 0; j <= 4; j++ { fmt.Println("j=" + fmt.Sprintf("%s", j) + " " + fmt.Sprintf("%s", node.Data)) node = node.NextNode }}
作者:jiankunking 出处:http://blog.csdn.net/jiankunking
阅读全文
0 0
- 双向链表翻转
- 双向链表翻转
- 面试系列之二:C艹翻转双向链表
- 无情链表的创建,,翻转翻转
- 链表翻转程序
- 链表翻转
- 链表翻转
- 链表翻转
- 翻转单向链表
- 翻转链表
- 原地翻转链表
- 链表的翻转
- 链表翻转
- 翻转部分链表
- 链表翻转
- 链表翻转
- c++翻转链表
- 翻转链表
- Linux如何利用容器轻松应对性能工程?
- python机器学习4-4代码及运行结果
- 在windows上使用ssh,scp
- 二DrawerLayout侧滑 Xlistview 接口获取数据 ImgageLoder
- 新项目上传之svn服务器
- 双向链表翻转
- 工厂设计模式
- 排序算法总结
- export default 、 export 和import 区别
- Js 相等与全等的区别
- LeetCode
- 使用VLC media player搭建简单的流媒体服务器
- java内存管理(堆、栈、方法区)
- Java ThreadLocal类理解与浅析