Manipulation de données - Réorganisation : rotation et permutation

Manipulation de données - Inversion et symétrisation

Manipulation de données - Réorganisation aléatoire

Inversion et symétrisation

Il est possible d’inverser l’ordre des éléments d’une séquence à l’aide des algorithmes reverse et reverse_copy.

Ces algorithmes sont déclarés de la manière suivante dans l’en-tête <algorithm> :

template <class BidirectionalIterator> 
void reverse(BidirectionalIterator premier, BidirectionalIterator dernier); 

template <class BidirectionalIterator, class OutputIterator> 
OutputIterator reverse_copy(BidirectionalIterator premier, 
    BidirectionalIterator dernier, OutputIterator destination);

À savoir

BidirectionalIterator est un itérateur bidirectionnel. Un itérateur bidirectionnel est analogue à un itérateur en-avant à l’exception du fait que nous pouvons également le décrémenter.

reverse et reverse_copy

Ces algorithmes prennent en argument les itérateurs permettant de spécifier l’intervalle de valeur qui doit être inversé. La version de cet algorithme qui permet de réaliser une copie prend un argument supplémentaire qui doit recevoir l’itérateur référençant l’emplacement destination dans lequel le résultat de l’inversion doit être stocké.

Cet itérateur retourne la valeur de l’itérateur destination qui suit le dernier élément écrit.

Code 9.7 : algorithme d’inversion

#include <iostream> 
#include <algorithm> 

using namespace std; 

int main() 
{ 
   int tab[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 
   //On inverse le tableau : 
   reverse(tab, tab+10); 
   //On affiche le résultat : 
   int i; 
   for (i=0; i<10; i++) 
      cout << tab[i] << endl; 
}


Le texte original de cette fiche pratique est extrait de
«Tout sur le C++» (Christine EBERHARDT, Collection
CommentCaMarche.net, Dunod, 2009)

Dernière modification le vendredi 30 octobre 2009 à 12:10:00.Ce document intitulé « Manipulation de données - Inversion et symétrisation » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Meilleures réponses pour « Manipulation de données Inversion et symétrisation » dans :
Rotation écran / Affichage inversé (90° ou 180°) VoirSi votre écran est inversé (rotation d'angle 90° voire 180°), ceci est dû : soit aux propriétés de votre carte graphique soit à une mauvaise manipulation sur le clavier Vérifier les propriétés de la carte graphique Cliquer avec le bouton...
Prévention de l'Exécution des Données VoirParamétrer ou désactiver la Prévention d'Exécution des Données (PED) Depuis le SP2 de Windows XP (Vista inclus), une nouvelle gestion de la mémoire (mode No eXecute) a été ajoutée, elle permet aux processeurs Athlon 64 d'AMD de protéger le système...
Télécharger Trilogie sécurité des données VoirComme on dit, jamais deux sans trois, alors voilà la trilogie infaillible et performant. On le surnome la « trilogie sécurité des données» parce qu’il est composé de trois programmes de protection en tout genre. Trilogie Sécurité des Données...
SQL - Commande SELECT VoirLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la...
Bases de données - Introduction VoirQu'est-ce qu'une base de données ? Une base de données (son abréviation est BD, en anglais DB, database) est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...