cpp

Двусвязные списки. Перемещение элементов

Переместить элементы внутри списка позволяют следующие методы:

  • MoveToFront() — перемещает элемент e в начало списка. Формат метода:
(*list.List).MoveToFront(e *list.Element)

Пример:

arr := list.New()
arr.PushBack(10)
e1 := arr.PushBack(20)
arr.MoveToFront(e1)
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 20 10
  • MoveToBack() — перемещает элемент e в конец списка. Формат метода:
(*list.List).MoveToBack(e *list.Element)

Пример:

arr := list.New()
e1 := arr.PushBack(10)
arr.PushBack(20)
arr.MoveToBack(e1)
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 20 10
  • MoveAfter() — перемещает элемент e, размещая его после элемента mark. Формат метода:
(*list.List).MoveAfter(e *list.Element, mark *list.Element)

Пример:

arr := list.New()
e1 := arr.PushBack(10)
arr.PushBack(20)
e2 := arr.PushBack(30)
arr.MoveAfter(e1, e2)
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 20 30 10
  • MoveBefore() — перемещает элемент e, размещая его перед элементом mark. Формат метода:
(*list.List).MoveBefore(e *list.Element, mark *list.Element)

Пример:

arr := list.New()
e1 := arr.PushBack(10)
arr.PushBack(20)
e2 := arr.PushBack(30)
arr.MoveBefore(e1, e2)
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 20 10 30

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp