mirror of https://github.com/01-edu/public.git
miguel
4 months ago
committed by
MSilva95
2 changed files with 58 additions and 0 deletions
@ -0,0 +1,53 @@
|
||||
package main |
||||
|
||||
import ( |
||||
"fmt" |
||||
"piscine" |
||||
) |
||||
|
||||
type NodeL struct { |
||||
Data interface{} |
||||
Next *NodeL |
||||
} |
||||
|
||||
type List struct { |
||||
Head *NodeL |
||||
Tail *NodeL |
||||
} |
||||
|
||||
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)) |
||||
} |
Loading…
Reference in new issue