| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package main
- import (
- "fmt"
- "github.com/wangjia184/sortedset"
- )
- func main(){
- sortedset := sortedset.New()
- sortedset.AddOrUpdate("a", 89, "Kelly")
- sortedset.AddOrUpdate("b", 100, "Staley")
- sortedset.AddOrUpdate("c", 100, "Jordon")
- sortedset.AddOrUpdate("d", -321, "Park")
- sortedset.AddOrUpdate("e", 101, "Albert")
- sortedset.AddOrUpdate("f", 99, "Lyman")
- sortedset.AddOrUpdate("g", 99, "Singleton")
- sortedset.AddOrUpdate("h", 70, "Audrey")
- sortedset.AddOrUpdate("e", 99, "ntrnrt")
- sortedset.AddOrUpdate("e", 99, "ntrnrt")
- sortedset.AddOrUpdate("e", 99, "ntrnrt")
- sortedset.AddOrUpdate("e", 99, "ntrnrt")
- sortedset.AddOrUpdate("e", 99, "ntrnrt")
- sortedset.Remove("b")
-
- all := sortedset.GetByRankRange(-1, 1, false)
- fmt.Println("len ==>", len(all) )
- node := sortedset.GetByRank(3, false)
-
- if node == nil || node.Key() != "a" {
- fmt.Println("GetByRank() does not return expected value `a`")
- }
- node = sortedset.GetByRank(-3, false)
- if node == nil || node.Key() != "f" {
- fmt.Println("GetByRank() does not return expected value `f`")
- }
- // get all nodes since the first one to last one
- nodes := sortedset.GetByRankRange(1, -1, false)
- checkOrder( nodes, []string{"d", "h", "a", "e", "f", "g", "c"})
- }
- func checkOrder(nodes []*sortedset.SortedSetNode, expectedOrder []string) {
- if len(expectedOrder) != len(nodes) {
- fmt.Printf("nodes does not contain %d elements", len(expectedOrder))
- }
- for i := 0; i < len(expectedOrder); i++ {
- if nodes[i].Key() != expectedOrder[i] {
- fmt.Printf("nodes[%d] is %q, but the expected key is %q", i, nodes[i].Key(), expectedOrder[i])
- }
- }
- }
|