Manipulation de données - Copie

Manipulation de données - Échange d'éléments

Manipulation de données - Recherche et remplacement

Échange d’éléments

L’algorithme swap_ranges permet d’échanger le contenu de deux séquences d’éléments. Cet algorithme prend en argument les deux itérateurs définissant la première séquence et un itérateur destination permettant d’indiquer le premier élément de la deuxième séquence, avec les éléments de laquelle l’échange doit être fait. La valeur retournée est l’itérateur de fin de cette séquence, une fois l’opération terminée.

swap_ranges

Voici la déclaration dans la STL :
template <class ForwardIterator, class ForwardIterator2> 
ForwardIterator2 swap_ranges(ForwardIterator premier, ForwardIterator dernier, 
ForwardIterator2 destination);

Code 9.3 : algorithme d’échange d’éléments

#include <iostream> 
#include <list> 
#include <algorithm> 

using namespace std; 

typedef list<int> li; 
void AfficherListe(li); 

int main() 
{ 
    //On crée une liste d’entiers : 
   li ma_liste; 
   //On la remplit 
   ma_liste.push_back(1); 
   ma_liste.push_back(2); 
   ma_liste.push_back(3); 
   ma_liste.push_back(4); 

   cout << "Voici la liste initiale: \n"; 
   AfficherListe(ma_liste); 

   // On crée un tableau de 4 éléments initialisés: 
   int tab[4] = {10, 20, 30, 40}; 

   cout << "Voici le tableau initial: \n"; 
   for (int i=0; i<4; i++) 
      cout << tab[i] << " "; 
   cout << endl; 

   //On échange le contenu des 2 conteneurs : 
   swap_ranges(tab, tab+4, ma_liste.begin()); 

cout << "Voici la nouvelle liste: \n"; 
AfficherListe(ma_liste); 

cout << "Voici le nouveau tableau: \n"; 
for (int j=0; j<4; j++) 
      cout << tab[j] << " "; 
   cout << endl; 

} 

//Définition de l’affichage de la liste 
void AfficherListe(li l) 
{ 
   li::iterator iter = l.begin(); 
   while (iter != l.end()) 
   { 
      cout << *iter << " "; 
      iter++; 
   } 
   cout << endl; 
}


On obtient :

Voici la liste initiale: 
1 2 3 4  
Voici le tableau initial: 
10 20 30 40  
Voici la nouvelle liste: 
10 20 30 40  
Voici le nouveau tableau: 
1 2 3 4


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:09:08.Ce document intitulé « Manipulation de données - Échange d'éléments » 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 Échange d'éléments » dans :
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...
Echange de données informatisées (EDI) VoirIntroduction à l'échange de données informatisées L'abréviation EDI signifie Electronic Data Interchange ou, en français, Echange de Données Informatisées. L'EDI peut être défini comme l’échange, d’ordinateur à ordinateur, de données concernant...
Manipulation de données - count et count_if Voircount et count_if Poursuivons avec les algorithmes count et count_if qui permettent de compter le nombre d’éléments d’un conteneur dont la valeur est égale à une valeur donnée ou vérifiant un critère spécifié par l’intermédiaire d’un prédicat...
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...
Collection CommentÇaMarche.net