C++ <list> reverse-Funktion
reversewird in der Liste verwendet fürVerkettete Liste umkehrenDie Funktion ist eine effiziente Operation, die einzigartig für verkettete Listen ist.
reverseSie ist eine Memberfunktion der Containerklasse und wird verwendet, um die Reihenfolge der Elemente in einer verketteten Liste umzukehren.
In der Liste,reverseIhre Zeitkomplexität ist O(n), und sie verursacht keine Elementverschiebung, sondern nur das Anpassen von Zeigern.
Wortdefinitionen: reverseEs bedeutet "reverse", das heißt, die Reihenfolge der verketteten Liste umzukehren.
Grundlegende Syntax und Parameter
Syntaxformat
void reverse();
Funktionsbeschreibung
- Rückgabewert:
void(Kein Rückgabewert). - Wirkung: Die Reihenfolge der Elemente in einer verketteten Liste umkehren.
Beispiel
Beispiel 1: Verkettete Liste umkehren
Beispiel
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Vor dem Umkehren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.reverse();
std::cout << "Nach dem Umkehren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Vor dem Umkehren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.reverse();
std::cout << "Nach dem Umkehren: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Erwartete Ausgabe:
反转前: 1 2 3 4 5 反转后: 5 4 3 2 1
Beispiel 2: Erneut umkehren
Beispiel
#include <iostream>
#include <list>
int main() {
std::list<int> data = {10, 20, 30};
data.reverse();
std::cout << Erste Umkehrung:;
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
data.reverse();
std::cout << Zweite Umkehrung:;
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> data = {10, 20, 30};
data.reverse();
std::cout << Erste Umkehrung:;
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
data.reverse();
std::cout << Zweite Umkehrung:;
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Erwartete Ausgabe:
第一次反转: 30 20 10 第二次反转: 10 20 30
Weitere Erweiterungen