tree

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2022 License: MulanPSL-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Rbtree

type Rbtree interface {
	Len() int
	Replace(v any) *RbtreeNode          //插入数据,重复则替换
	Insert(v any) *RbtreeNode           //插入数据,重复则忽视
	InsertRepeatable(v any) *RbtreeNode //插入数据,允许数据重复
	Front() *RbtreeNode                 //查询第一个数据
	Back() *RbtreeNode                  //查询最后一个数据
	Find(v any) *RbtreeNode             //查找数据,如果存在重复,则返回最顶层的项
	LowerBound(v any) *RbtreeNode       //查找第一个不小于(>=)的项
	UpperBound(v any) *RbtreeNode       //查找第一个大于的项
	Erase(n *RbtreeNode)                //删除项
	Remove(v any) any                   //删除一个相同的项
	RemoveAll(v any) []any              //删除所有相同的项
}

func NewRbtree

func NewRbtree(lessthan func(any, any) bool) Rbtree

type RbtreeNode

type RbtreeNode struct {
	Value any //值
	// contains filtered or unexported fields
}

func (*RbtreeNode) Next

func (n *RbtreeNode) Next() *RbtreeNode

下一个最接近的节点

func (*RbtreeNode) Prev

func (n *RbtreeNode) Prev() *RbtreeNode

前一个最接近的节点

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL