package main
import (
"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
1647422595
查看更多评论