cpp

Двусвязные списки. Добавление элементов

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

  • PushBack() — добавляет элемент в конец списка и возвращает указатель на него. Формат метода:
(*list.List).PushBack(v interface{}) *list.Element

Пример:

arr := list.New()
e1 := arr.PushBack(10)
fmt.Println(e1.Value) // 10
e2 := arr.PushBack(20)
fmt.Println(e2.Value) // 20
arr.PushBack(30)
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 10 20 30
  • PushBackList() — добавляет копии элементов из списка other в конец текущего списка. Формат метода:
(*list.List).PushBackList(other *list.List)

Пример:

arr := list.New()
arr.PushBack(10)
arr.PushBack(20)
arr.PushBack(30)
arr2 := list.New()
arr2.PushBack(40)
arr2.PushBack(50)
arr.PushBackList(arr2)
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 10 20 30 40 50
  • PushFront() — добавляет элемент в начало списка и возвращает указатель на него. Формат метода:
(*list.List).PushFront(v interface{}) *list.Element

Пример:

arr := list.New()
e1 := arr.PushFront(10)
fmt.Println(e1.Value) // 10
e2 := arr.PushFront(20)
fmt.Println(e2.Value) // 20
arr.PushFront(30)
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 30 20 10
  • PushFrontList() — добавляет копии элементов из списка other в начало текущего списка. Формат метода:
(*list.List).PushFrontList(other *list.List)

Пример:

arr := list.New()
arr.PushBack(10)
arr.PushBack(20)
arr.PushBack(30)
arr2 := list.New()
arr2.PushBack(40)
arr2.PushBack(50)
arr.PushFrontList(arr2)
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 40 50 10 20 30
  • InsertAfter() — добавляет элемент после элемента mark и возвращает указатель на него. Формат метода:
(*list.List).InsertAfter(v interface{},
                         mark *list.Element) *list.Element

Пример:

arr := list.New()
arr.PushBack(10)
e := arr.PushBack(20)
e2 := arr.InsertAfter(30, e)
fmt.Println(e2.Value) // 30
for e := arr.Front(); e != nil; e = e.Next() {
   fmt.Print(e.Value, " ")
} // 10 20 30
  • InsertBefore() — добавляет элемент перед элементом mark и возвращает указатель на него. Формат метода:
(*list.List).InsertBefore(v interface{},
                          mark *list.Element) *list.Element

Пример:

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

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

Помощь сайту

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

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

cpp