package main
import"fmt"// 链表结构体
type Node struct {
date int
next *Node
}// 双向链表结构体
type TwoNode struct {
date int
next *TwoNode
pre *TwoNode
}// 展示遍历单向链表
func showNode(n *Node){for n != nil {
node := n.next
fmt.Println(*n, node)
n = n.next
}}// 展示遍历双向链表
func showTwoNode(n *TwoNode){for n != nil {
nextNode := n.next
preNode := n.pre
fmt.Println("值:",*n,"__下一个值:", nextNode,"__上一个值", preNode)
n = n.next
}}
func main(){// 单向链表
var head =new(Node)
head.date =0
var tail *Node
tail = head
for i :=1; i <10; i++{
var node = Node{date: i}(*tail).next =&node
tail =&node
}showNode(head)// 双向链表
var towHead =new(TwoNode)
towHead.date =0
var nextTemp *TwoNode
nextTemp = towHead
for v :=1; v <10; v++{
var date = TwoNode{date: v}
nextTemp.next =&date
date.pre = nextTemp
nextTemp =&date
}showTwoNode(towHead)}
go语言下的单向双向链表package mainimport "fmt"// 链表结构体type Node struct { date int next *Node}// 双向链表结构体type TwoNode struct { date int next *TwoNode pre *TwoNode}// 展示遍历单向链表func showNode(n *N...