Fonction reverse de <list> en C++
reverseest utilisée dans la liste pourInverser une liste chaînéeLa fonction est une opération efficace propre aux listes chaînées.
reverseC'est une fonction membre de la classe conteneur, utilisée pour inverser l'ordre des éléments dans une liste chaînée.
Dans la liste,reverseSa complexité temporelle est O(n), et elle n'entraîne pas de déplacement d'éléments, seulement un ajustement des pointeurs.
Définitions de mots: reverseCela signifie « reverse », c'est-à-dire inverser l'ordre de la liste chaînée.
Syntaxe de base et paramètres
Format de syntaxe
void reverse();
Description de la fonction
- Valeur de retour:
void(Aucune valeur de retour). - Effet: Inverser l'ordre des éléments dans une liste chaînée.
Exemple
Exemple 1 : Inverser une liste chaînée
Exemple
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Avant l'inversion : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.reverse();
std::cout << "Après l'inversion : ";
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 << "Avant l'inversion : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.reverse();
std::cout << "Après l'inversion : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Sortie attendue :
反转前: 1 2 3 4 5 反转后: 5 4 3 2 1
Exemple 2 : Inverser à nouveau
Exemple
#include <iostream>
#include <list>
int main() {
std::list<int> data = {10, 20, 30};
data.reverse();
std::cout << Première inversion :;
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
data.reverse();
std::cout << Deuxième inversion :;
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 << Première inversion :;
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
data.reverse();
std::cout << Deuxième inversion :;
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Sortie attendue :
第一次反转: 30 20 10 第二次反转: 10 20 30
autres extensions