package main import ( "fmt" "piscine" ) type NodeI struct { Data int Next *NodeI } func PrintList(l *piscine.NodeI) { it := l for it != nil { fmt.Print(it.Data, " -> ") it = it.Next } fmt.Print(nil, "\n") } func listPushBack(l *piscine.NodeI, data int) *piscine.NodeI { n := &piscine.NodeI{Data: data} if l == nil { return n } iterator := l for iterator.Next != nil { iterator = iterator.Next } iterator.Next = n return l } func main() { var link *piscine.NodeI var link2 *piscine.NodeI link = listPushBack(link, 3) link = listPushBack(link, 5) link = listPushBack(link, 7) link2 = listPushBack(link2, -2) link2 = listPushBack(link2, 9) PrintList(piscine.SortedListMerge(link2, link)) }