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

Метод list.List.Remove

Метод Remove удаляет элемент из двусвязного списка. В качестве параметра метод принимает указатель на элемент типа *list.Element, который нужно удалить. Метод возвращает значение удаленного элемента в виде интерфейса any. Если переданный элемент не принадлежит списку или равен nil, метод не выполняет никаких действий и возвращает nil.

Синтаксис

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

Пример

Давайте создадим список из пяти элементов и удалим из него элемент со значением 'c':

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

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

"c" "a" "b" "d" "e"

Пример

Давайте попробуем удалить элемент, который не принадлежит списку. Метод вернет nil и не изменит список:

package main import ( "container/list" "fmt" ) func main() { l1 := list.New() l1.PushBack("a") l1.PushBack("b") l2 := list.New() l2.PushBack("x") l2.PushBack("y") elem := l2.Front() res := l1.Remove(elem) fmt.Println(res) fmt.Println("Length of l1:", l1.Len()) fmt.Println("Length of l2:", l2.Len()) }

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

<nil> "Length of l1: 2" "Length of l2: 2"

Пример

Метод Remove возвращает значение удаленного элемента, поэтому его удобно использовать для получения данных при удалении:

package main import ( "container/list" "fmt" ) func main() { l := list.New() l.PushBack(10) l.PushBack(20) l.PushBack(30) elem := l.Back() res := l.Remove(elem) fmt.Printf("Removed value: %d\n", res) fmt.Println("Remaining elements:") for e := l.Front(); e != nil; e = e.Next() { fmt.Println(e.Value) } }

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

"Removed value: 30" "Remaining elements:" "10" "20"

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

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