You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
993 B

## listreverse
6 years ago
### Instructions
Écrire une fonction `ListReverse` qui inverse l'ordre des éléments d'une liste chaînée `l` donnée.
### Fonction et structure attendues
```go
type NodeL struct {
Data interface{}
Next *NodeL
}
type List struct {
Head *NodeL
Tail *NodeL
}
func ListReverse(l *List) {
5 years ago
}
```
6 years ago
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
```go
package main
import (
"fmt"
piscine ".."
)
func main() {
link := &piscine.List{}
piscine.ListPushBack(link, 1)
piscine.ListPushBack(link, 2)
piscine.ListPushBack(link, 3)
piscine.ListPushBack(link, 4)
piscine.ListReverse(link)
it := link.Head
for it != nil {
fmt.Println(it.Data)
it = it.Next
}
fmt.Println("Tail", link.Tail)
fmt.Println("Head", link.Head)
}
```
Et son résultat :
```console
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
4
3
2
1
Tail <nil>
Head &{4 0xc42000a140}
student@ubuntu:~/[[ROOT]]/test$
```