Функция reverse для <list> в C++

C++ класс контейнера <list>


reverseиспользуется в списке дляОбращение связанного спискаЭта функция — эффективная операция, уникальная для связанных списков.

reverseЭто функция-член класса-контейнера, используемая для изменения порядка элементов в связанном списке.

В list,reverseЕё временная сложность — O(n), и она не вызывает перемещения элементов, а только изменяет указатели.

Определения слов: reverseОно означает "reverse", то есть изменение порядка связанного списка на обратный.


Базовый синтаксис и параметры

Формат синтаксиса

void reverse();

Описание функции

  • Возвращаемое значение: void(Нет возвращаемого значения).
  • Действие: изменить порядок элементов в связанном списке на обратный.

Пример

Пример 1: Обращение связанного списка

Пример

#include <iostream>
#include <list>

int main() {
    std::list<int> numbers = {1, 2, 3, 4, 5};

    std::cout << "Перед обращением: ";
    for(int n : numbers) std::cout << n << " ";
    std::cout << std::endl;

    numbers.reverse();

    std::cout << "После обращения: ";
    for(int n : numbers) std::cout << n << " ";
    std::cout << std::endl;

    return 0;
}

Ожидаемый вывод:

反转前: 1 2 3 4 5
反转后: 5 4 3 2 1

Пример 2: Повторное обращение

Пример

#include <iostream>
#include <list>

int main() {
    std::list<int> data = {10, 20, 30};

    data.reverse();
    std::cout << Первое обращение:;
    for(int n : data) std::cout << n << " ";
    std::cout << std::endl;

    data.reverse();
    std::cout << Второе обращение:;
    for(int n : data) std::cout << n << " ";
    std::cout << std::endl;

    return 0;
}

Ожидаемый вывод:

第一次反转: 30 20 10
第二次反转: 10 20 30

C++ класс контейнера <list>

Другие расширения