Documentation ¶
Index ¶
- Constants
- type SortedLinkedList
- func (l *SortedLinkedList) Delete(value int, all bool) bool
- func (l *SortedLinkedList) FindItemFor(value int) (*SortedLinkedListItem, int)
- func (l *SortedLinkedList) GetAll() []int
- func (l *SortedLinkedList) GetMax() (int, error)
- func (l *SortedLinkedList) GetMin() (int, error)
- func (l *SortedLinkedList) GetUnique() []int
- func (l *SortedLinkedList) Head() *SortedLinkedListItem
- func (l *SortedLinkedList) Insert(value int) bool
- func (l *SortedLinkedList) InsertAll(values []int)
- func (l *SortedLinkedList) InsertAllVar(values ...int)
- func (l *SortedLinkedList) IsIntRangeInitialized() bool
- func (l *SortedLinkedList) Size() int
- func (l *SortedLinkedList) Tail() *SortedLinkedListItem
- func (l *SortedLinkedList) UniqueSize() int
- type SortedLinkedListItem
- func (l *SortedLinkedListItem) Count() int
- func (l *SortedLinkedListItem) Dec()
- func (l *SortedLinkedListItem) Delete()
- func (l *SortedLinkedListItem) Inc()
- func (l *SortedLinkedListItem) InsertLeft(value int)
- func (l *SortedLinkedListItem) InsertRight(value int)
- func (l *SortedLinkedListItem) Next() *SortedLinkedListItem
- func (l *SortedLinkedListItem) Prev() *SortedLinkedListItem
- func (l *SortedLinkedListItem) Value() int
Constants ¶
const ( FOUND_TYPE_NOT_FOUND = 0 FOUND_TYPE_FOUND = 1 FOUND_TYPE_PREV = -2 FOUND_TYPE_NEXT = 2 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SortedLinkedList ¶
type SortedLinkedList struct {
// contains filtered or unexported fields
}
SortedLinkedList - изменяемый список чисел с поддержкой работы в режиме set на основе связанного списка
func New ¶
func New() *SortedLinkedList
New - конструктор для SortedLinkedList isUnique - признак, что значения должны быть уникальными lazySort - признак, что сортировка производится только в момент чтения
func (*SortedLinkedList) Delete ¶
func (l *SortedLinkedList) Delete(value int, all bool) bool
Delete - удаление элемента из связанного списка
func (*SortedLinkedList) FindItemFor ¶
func (l *SortedLinkedList) FindItemFor(value int) (*SortedLinkedListItem, int)
func (*SortedLinkedList) GetAll ¶
func (l *SortedLinkedList) GetAll() []int
func (*SortedLinkedList) GetMax ¶
func (l *SortedLinkedList) GetMax() (int, error)
func (*SortedLinkedList) GetMin ¶
func (l *SortedLinkedList) GetMin() (int, error)
func (*SortedLinkedList) GetUnique ¶
func (l *SortedLinkedList) GetUnique() []int
GetUnique - получить срез только уникальных упорядоченных чисел из индекса
func (*SortedLinkedList) Head ¶
func (l *SortedLinkedList) Head() *SortedLinkedListItem
Head - указатель на начальный элемент индекса
func (*SortedLinkedList) Insert ¶
func (l *SortedLinkedList) Insert(value int) bool
Insert - добавляет элемент в SortedLinkedList, всегда в сортированном порядке если массив - уникальный, то если число уже есть - оно не добавляется, иначе всегда добавляется
func (*SortedLinkedList) InsertAll ¶
func (l *SortedLinkedList) InsertAll(values []int)
InsertAll - вставка всех элементов из среза
func (*SortedLinkedList) InsertAllVar ¶
func (l *SortedLinkedList) InsertAllVar(values ...int)
InsertAllVar - вставка всех элементов из variadic
func (*SortedLinkedList) IsIntRangeInitialized ¶
func (l *SortedLinkedList) IsIntRangeInitialized() bool
func (*SortedLinkedList) Size ¶
func (l *SortedLinkedList) Size() int
Size - количество всех чисел в индексе без учета уникальности
func (*SortedLinkedList) Tail ¶
func (l *SortedLinkedList) Tail() *SortedLinkedListItem
Tail - указатель на последний элемент индекса
func (*SortedLinkedList) UniqueSize ¶
func (l *SortedLinkedList) UniqueSize() int
UniqueSize - количество узлов значений в индексе, по сути число уникальных элементов
type SortedLinkedListItem ¶
type SortedLinkedListItem struct {
// contains filtered or unexported fields
}
SortedLinkedListItem - внутренний элемент индекса, хранит в себе значение, количество копий значения и указатель на соседние элементы индекса с меньшими и большими значениями соответственно
func NewSortedLinkedListItem ¶
func NewSortedLinkedListItem(value int) *SortedLinkedListItem
func NewSortedLinkedListItemC ¶
func NewSortedLinkedListItemC(value int, count int) *SortedLinkedListItem
func (*SortedLinkedListItem) Count ¶
func (l *SortedLinkedListItem) Count() int
Count - количество значений Value
func (*SortedLinkedListItem) Dec ¶
func (l *SortedLinkedListItem) Dec()
func (*SortedLinkedListItem) Delete ¶
func (l *SortedLinkedListItem) Delete()
Delete удаление элемента из списка
func (*SortedLinkedListItem) Inc ¶
func (l *SortedLinkedListItem) Inc()
func (*SortedLinkedListItem) InsertLeft ¶
func (l *SortedLinkedListItem) InsertLeft(value int)
InsertLeft - добавляет элемент слева
func (*SortedLinkedListItem) InsertRight ¶
func (l *SortedLinkedListItem) InsertRight(value int)
InsertRight - добавляет элемент справа
func (*SortedLinkedListItem) Next ¶
func (l *SortedLinkedListItem) Next() *SortedLinkedListItem
Next - указатель на следующий элемент индекса
func (*SortedLinkedListItem) Prev ¶
func (l *SortedLinkedListItem) Prev() *SortedLinkedListItem
Prev - указатель на предыдущий элемент индекса
func (*SortedLinkedListItem) Value ¶
func (l *SortedLinkedListItem) Value() int
Value - значение числа в SortedLinkedListItem