Spec-Zone.ru › Go

Список пакетов

  • import "container/list"
  • Обзор
  • Индекс
  • Примеры

Обзор

Пакет list реализует двусвязный список.

Для перебора списка (где l - *List):

for e := l.Front(); e != nil; e = e.Next() {
	// do something with e.Value
}

Пример

Код:

// Create a new list and put some numbers in it.
l := list.New()
e4 := l.PushBack(4)
e1 := l.PushFront(1)
l.InsertBefore(3, e4)
l.InsertAfter(2, e1)

// Iterate through list and print its contents.
for e := l.Front(); e != nil; e = e.Next() {
    fmt.Println(e.Value)
}

Вывод:

1
2
3
4

Индекс

  • тип Element
  • функция (e *Element) Next() *Element
  • функция (e *Element) Prev() *Element
  • тип List
  • функция New() *List
  • функция (l *List) Back() *Element
  • функция (l *List) Front() *Element
  • функция (l *List) Init() *List
  • функция (l *List) InsertAfter(v any, mark *Element) *Element
  • функция (l *List) InsertBefore(v any, mark *Element) *Element
  • функция (l *List) Len() int
  • функция (l *List) MoveAfter(e, mark *Element)
  • функция (l *List) MoveBefore(e, mark *Element)
  • функция (l *List) MoveToBack(e *Element)
  • функция (l *List) MoveToFront(e *Element)
  • функция (l *List) PushBack(v any) *Element
  • функция (l *List) PushBackList(other *List)
  • функция (l *List) PushFront(v any) *Element
  • функция (l *List) PushFrontList(other *List)
  • функция (l *List) Remove(e *Element) any

Примеры

Пакет

Файлы пакета

list.go

тип Element

Element - элемент связанного списка.

type Element struct {

    // The value stored with this element.
    Value any
    // contains filtered or unexported fields
}

функция (*Element) Next

func (e *Element) Next() *Element

Next возвращает следующий элемент списка или nil.

функция (*Element) Prev

func (e *Element) Prev() *Element

Prev возвращает предыдущий элемент списка или nil.

тип List

List представляет собой двусвязный список. Нулевое значение для List - это пустой список, готовый к использованию.

type List struct {
    // contains filtered or unexported fields
}

функция New

func New() *List

New возвращает инициализированный список.

функция (*List) Back

func (l *List) Back() *Element

Back возвращает последний элемент списка l или nil, если список пуст.

функция (*List) Front

func (l *List) Front() *Element

Front возвращает первый элемент списка l или nil, если список пуст.

функция (*List) Init

func (l *List) Init() *List

Init инициализирует или очищает список l.

функция (*List) InsertAfter

func (l *List) InsertAfter(v any, mark *Element) *Element

InsertAfter вставляет новый элемент e со значением v сразу после mark и возвращает e. Если mark не является элементом l, список не изменяется. mark не должен быть nil.

функция (*List) InsertBefore

func (l *List) InsertBefore(v any, mark *Element) *Element

InsertBefore вставляет новый элемент e со значением v непосредственно перед mark и возвращает e. Если mark не является элементом l, список не изменяется. mark не должен быть nil.

функция (*List) Len

func (l *List) Len() int

Len возвращает количество элементов в списке l. Сложность - O(1).

функция (*List) MoveAfter 1.2

func (l *List) MoveAfter(e, mark *Element)

MoveAfter перемещает элемент e в новое положение после mark. Если e или mark не являются элементами l, или e == mark, список не изменяется. Элемент и mark не должны быть nil.

функция (*List) MoveBefore 1.2

func (l *List) MoveBefore(e, mark *Element)

MoveBefore перемещает элемент e в новое положение перед mark. Если e или mark не являются элементами l, или e == mark, список не изменяется. Элемент и mark не должны быть nil.

функция (*List) MoveToBack

func (l *List) MoveToBack(e *Element)

MoveToBack перемещает элемент e в конец списка l. Если e не является элементом l, список не изменяется. Элемент не должен быть nil.

функция (*List) MoveToFront

func (l *List) MoveToFront(e *Element)

MoveToFront перемещает элемент e в начало списка l. Если e не является элементом l, список не изменяется. Элемент не должен быть nil.

функция (*List) PushBack

func (l *List) PushBack(v any) *Element

PushBack вставляет новый элемент e со значением v в конец списка l и возвращает e.

функция (*List) PushBackList

func (l *List) PushBackList(other *List)

PushBackList вставляет копию другого списка в конец списка l. Список l и other могут быть одинаковыми. Они не должны быть nil.

функция (*List) PushFront

func (l *List) PushFront(v any) *Element

PushFront вставляет новый элемент e со значением v в начало списка l и возвращает e.

функция (*List) PushFrontList

func (l *List) PushFrontList(other *List)

PushFrontList вставляет копию другого списка в начало списка l. Список l и other могут быть одинаковыми. Они не должны быть nil.

функция (*List) Remove

func (l *List) Remove(e *Element) any

Remove удаляет e из l, если e является элементом списка l. Возвращает значение элемента e.Value. Элемент не должен быть nil.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/container/list/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API