РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
917 of 1593 menu

Тип list.Element

Тип list.Element представляет собой элемент двусвязного списка. Он содержит поле Value, которое хранит значение элемента (тип interface{}), а также внутренние указатели на следующий и предыдущий элементы. Основные методы: Next для перехода к следующему элементу и Prev для перехода к предыдущему.

Синтаксис

type Element struct { Value interface{} // содержит скрытые поля } func (e *Element) Next() *Element func (e *Element) Prev() *Element

Пример

Создадим список, добавим в него элементы и получим ссылку на один из них:

package main import ( "container/list" "fmt" ) func main() { l := list.New() elem1 := l.PushBack("a") elem2 := l.PushBack("b") elem3 := l.PushBack("c") // Получаем ссылку на элемент e := elem2 fmt.Println(e.Value) }

Результат выполнения кода:

"b"

Метод Next()

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

package main import ( "container/list" "fmt" ) func main() { l := list.New() e := l.PushBack("a") l.PushBack("b") l.PushBack("c") next := e.Next() fmt.Println(next.Value) }

Результат выполнения кода:

"b"

Метод Prev()

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

package main import ( "container/list" "fmt" ) func main() { l := list.New() l.PushBack("a") e := l.PushBack("b") l.PushBack("c") prev := e.Prev() fmt.Println(prev.Value) }

Результат выполнения кода:

"a"

Использование с List.Remove

Элемент может быть удален из списка с помощью метода Remove:

package main import ( "container/list" "fmt" ) func main() { l := list.New() e := l.PushBack("a") l.PushBack("b") l.PushBack("c") l.Remove(e) for elem := l.Front(); elem != nil; elem = elem.Next() { fmt.Println(elem.Value) } }

Результат выполнения кода:

"b" "c"

Смотрите также

  • тип list.List,
    который представляет двусвязный список
  • метод list.List.PushBack,
    который добавляет элемент в конец списка
  • метод list.List.PushFront,
    который добавляет элемент в начало списка
  • метод list.List.Remove,
    который удаляет элемент из списка
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить