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

Метод ring.Ring.Next

Метод ring.Ring.Next возвращает указатель на следующий элемент в кольцевом списке. При вызове метода на текущем элементе, он перемещается вперед по кольцу и возвращает новый указатель на соседний элемент. Кольцевой список цикличен, поэтому после последнего элемента метод возвращает первый. Метод не принимает никаких параметров.

Синтаксис

nextRing := r.Next()

Пример

Давайте создадим кольцевой список из трех элементов и получим следующий элемент после первого:

package main import ( "container/ring" "fmt" ) func main() { r := ring.New(3) for i := 0; i < r.Len(); i++ { r.Value = i + 1 r = r.Next() } current := r.Next() fmt.Println(current.Value) }

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

2

Пример

Продемонстрируем циклическую природу кольцевого списка, пройдя по нему несколько раз с помощью метода Next:

package main import ( "container/ring" "fmt" ) func main() { r := ring.New(3) r.Value = "a" r = r.Next() r.Value = "b" r = r.Next() r.Value = "c" r = r.Next() fmt.Println(r.Value) fmt.Println(r.Next().Value) fmt.Println(r.Next().Next().Value) fmt.Println(r.Next().Next().Next().Value) }

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

"a" "b" "c" "a"

Пример

Используем метод Next для обхода всех элементов кольцевого списка:

package main import ( "container/ring" "fmt" ) func main() { r := ring.New(4) for i := 0; i < r.Len(); i++ { r.Value = i + 1 r = r.Next() } current := r.Next() for i := 0; i < current.Len(); i++ { fmt.Println(current.Value) current = current.Next() } }

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

1 2 3 4

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

  • метод ring.Ring.Prev,
    который возвращает предыдущий элемент кольцевого списка
  • метод ring.Ring.Move,
    который перемещает указатель на указанное количество элементов
  • метод ring.Ring.Len,
    который возвращает количество элементов в кольцевом списке
  • метод ring.Ring.Do,
    который применяет функцию ко всем элементам кольцевого списка
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить