Package avl implements an AVL tree.
Package avl implements an AVL tree.
go get github.com/hslam/avl
import "github.com/hslam/avl"
package main
import (
"fmt"
"github.com/hslam/avl"
)
func main() {
tree := avl.New()
str := String("Hello World")
tree.Insert(str)
fmt.Println(tree.Search(str))
tree.Delete(str)
}
type String string
func (a String) Less(b avl.Item) bool {
return a < b.(String)
}
Hello World
package main
import (
"fmt"
"github.com/hslam/avl"
)
func main() {
tree := avl.New()
l := "MNOLKQPHIA"
for _, v := range l {
tree.Insert(String(v))
}
iter := tree.Min()
for iter != nil {
fmt.Printf("%s\t", iter.Item())
iter = iter.Next()
}
}
type String string
func (a String) Less(b avl.Item) bool {
return a < b.(String)
}
A H I K L M N O P Q
This package is licensed under a MIT license (Copyright (c) 2020 Meng Huang)
avl was written by Meng Huang.