使用场景

    使用方式

    接口文档

    几种容器的API方法都非常类似,特点是需要在初始化时提供用于排序的方法。

    gutil模块中提供了常用的一些基本类型比较方法,可以直接在程序中直接使用,后续也有示例。

    1. func ComparatorByte(a, b interface{}) int
    2. func ComparatorFloat32(a, b interface{}) int
    3. func ComparatorFloat64(a, b interface{}) int
    4. func ComparatorInt(a, b interface{}) int
    5. func ComparatorInt16(a, b interface{}) int
    6. func ComparatorInt32(a, b interface{}) int
    7. func ComparatorInt64(a, b interface{}) int
    8. func ComparatorInt8(a, b interface{}) int
    9. func ComparatorRune(a, b interface{}) int
    10. func ComparatorString(a, b interface{}) int
    11. func ComparatorTime(a, b interface{}) int
    12. func ComparatorUint(a, b interface{}) int
    13. func ComparatorUint16(a, b interface{}) int
    14. func ComparatorUint32(a, b interface{}) int
    15. func ComparatorUint64(a, b interface{}) int
    16. func ComparatorUint8(a, b interface{}) int

    基本使用

    1. 12
    2. true
    3. 11
    4. 9
    5. [0 1 2 3 4 5 6 7 8]
    6. [0 10 20 30 40 50 60 70 80]
    7. 100
    8. 100
    9. 0:0 1:10 2:20 3:30 4:40 5:50 6:60 7:70 8:80
    10. true

    前序/后续遍历

    执行后,输出结果为:

    1. AVLTree
    2. ┌── 9
    3. ┌── 8
    4. ┌── 7
    5. ┌── 6
    6. └── 5
    7. └── 4
    8. └── 3
    9. ┌── 2
    10. └── 1
    11. └── 0
    12. 0 0
    13. 1 10
    14. 2 20
    15. 3 30
    16. 4 40
    17. 5 50
    18. 6 60
    19. 7 70
    20. 8 80
    21. 9 90
    22. DESC:
    23. 9 90
    24. 8 80
    25. 7 70
    26. 6 60
    27. 5 50
    28. 4 40
    29. 3 30
    30. 2 20
    31. 1 10