Itérer via une liste en C ++

Itérer via une liste en C ++
La structure de données la plus courante est une liste. Une liste est une collection d'enregistrements liés afin qu'ils puissent être simplement itérés et entretenus. Un itérateur est un attribut (similaire à un pointeur) qui pointe vers un composant de la liste. Les itérateurs peuvent être utilisés pour parcourir les données de la liste. Ils seront considérés comme un pointeur indiquant un certain point, puis nous pourrions les utiliser pour récupérer des données dans cette région spécifique.

Les itérateurs sont importants pour intégrer les algorithmes dans les listes et la modification des données stockées dans les listes. Un pointeur a été le type d'itérateur le plus courant. Un pointeur peut être lié aux attributs dans un tableau, puis utiliser l'opérateur d'incrément (++) pour les traverser sur eux. Cependant, tous les itérateurs n'ont pas la même adaptabilité que les pointeurs.

La liste C ++ serait itérée dans les deux modes (c'est-à-dire en avant et en arrière). Nous allons construire une liste C ++ et itérer dans ses composants dans cet article. Et cet article passera en revue toutes les techniques de C ++ qui seront utilisées pour itérater via une liste.

Utilisez un itérateur pour itérer une liste

Dans cette procédure, un itérateur «ITR» est construit et initialisé en utilisant la méthode begin (), qui indiquerait le premier composant. Il iratera jusqu'à ce qu'il approche de la fin de la liste, avec «ITR» indiquant le composant suivant de la liste. Dans cette méthode, deux fonctions seraient utilisées:

  • begin () fournit un itérateur au composant initial de la liste.
  • end () fournit un itérateur à la composante qualitative qui vient après le dernier composant de la liste.
#inclure
Utilisation de Namespace Std;
Affichage vide (SET A)

set :: iterator itr;
pour (itr = a.commencer();
itr != A.fin(); ITR ++)

couter<< *itr<< " ";


int main()

définir A;
un.insérer (350);
un.insérer (550);
un.insérer (750);
un.insérer (450);
un.insérer (650);
affichage (a);
retour 0;

Initialement, nous appliquons la fonction Display () void pour afficher les composants de l'ensemble. La variable «A» est en cours de spécification pour ces éléments. Pour représenter les éléments, nous avons été utilisés pour Loop. À l'intérieur de la boucle, nous appliquons les fonctions begin () et end (). La méthode begin () renvoie un itérateur ayant la valeur indiquant le premier composant. Il diffère de la méthode Front () de l'itérateur dans lequel la fonction avant () fournit un pointeur, tandis que Begin () fournit l'itérateur directement. La fonction fin () renvoie un itérateur qui mène au dernier composant de la liste. Nous faisons une augmentation de la valeur de l'itérateur.

Nous utilisons la déclaration «cout» pour le pointeur de l'itérateur. Tout d'abord, nous insérons les nombres dans un ordre aléatoire. La méthode insert () est utilisée pour insérer ces nombres. Si nous voulons afficher tous ces numéros sur la liste, donc la méthode affiche () est utilisée. Pour terminer le code, nous entrons la commande 'return 0'.

Utilisez une plage basée sur la boucle pour itérer via une liste

Une gamme basée sur la boucle est utilisée pour itérer la plupart des composants d'une liste de manière à suivre dans cette méthodologie.

#inclure
Utilisation de Namespace Std;
Affichage vide (Définir C)

pour (Auto ITR: C)

couter<

int main()

définir C;
c.insérer (7);
c.insérer (4);
c.insérer (1);
c.insérer (8);
c.insérer (3);
affichage (c);
retour 0;

Tout d'abord, nous présentons la bibliothèque . Dans la ligne suivante, nous utiliserons l'espace de noms standard. Nous avons utilisé la méthode Void Affichage () pour afficher les entités de la liste. Nous définissons la variable «C» pour stocker les entités. Maintenant, pour afficher ces entités, la liste «pour» Loop est appliquée.

Le premier paramètre représente la déclaration de portée. Une définition ou un pointeur vers une variable spécifiée dont le type est le même que celui de l'élément dans l'ordre spécifié par l'expression de la plage. Pour l'induction de type autonome, le qualificatif automobile est fréquemment utilisé. Le deuxième paramètre de la fonction «auto» montre la plage de l'expression. Il indique une commande appropriée. Nous ajoutons l'instruction LOOP en utilisant «cout».

Ici, nous initialisons l'objet de la liste spécifiée dans le corps de la fonction principale (). Nous ajoutons au hasard quelques nombres en utilisant le C.Fonction insert () pour tous les nombres. La fonction Display () est utilisée pour montrer ces nombres aléatoires. L'ensemble défini est passé comme un paramètre à cette fonction. Nous utilisons la commande «return 0» pour la résiliation du code.

Utilisez l'itérateur inversé pour itérer une liste vers l'arrière

Dans cette technique, un itérateur inversé «ITR» est construit et initialisé avec la méthode RBEGIN () pour indiquer le dernier composant d'une liste, mais après chaque itération, «ITR» se rapporte au composant suivant d'une liste de manière inverse, et itéère jusqu'à ce qu'il atteigne le début de la liste.

#inclure
Utilisation de Namespace Std;
Affichage vide (Set X)

set :: reverse_iteratoritr;
pour (itr = x.rbegin ();
itr != x.déchirer(); ITR ++)

couter<< *itr<< " ";


int main()

définir x;
\X.insérer (600);
X.insérer (400);
X.insérer (800);
X.insérer (700);
X.insert (200);
affichage (x);
retour 0;

Au début du programme, nous intégrons le fichier d'en-tête . Nous utilisons également l'espace de noms standard. Nous avons utilisé la méthode Void Affichage () pour montrer le contenu de l'ensemble. Pour stocker ces composants, nous avons indiqué la variable «x». Nous avons utilisé une boucle «pour» pour indiquer les éléments. Les procédures Rbegin () et Rend () sont appliquées dans la boucle pour. Le Rbegin () est une méthode intra-construite qui fournit un itérateur inversé pointé du dernier composant de la liste.

Le Rend () est également la méthode intégrée qui génère un itérateur inverse menant à la composante hypothétique précédant le premier composant de la liste. Un itérateur est généré, et il commencerait et continuerait jusqu'à ce qu'il atteigne la fin de la liste en incrément dans chaque boucle.

Après cela, nous avons utilisé la commande «cout» pour obtenir le pointeur de l'itérateur. La fonction principale () est ensuite invoquée. Dans ce cas, les nombres sont entrés dans un ordre randomisé. La fonction insert () est utilisée pour incorporer des entiers dans une liste. Nous appliquerons donc la méthode affichage () pour afficher tous les chiffres de la liste. En fin de compte, nous entrons la commande «retour 0» pour mettre fin au programme.

Conclusion

Dans cet article, nous avons discuté de plusieurs méthodes d'itération de la liste en C++. Nous allons itérus via une liste à l'aide d'un itérateur, d'une gamme basée sur la boucle et d'un itérateur inversé. Toutes ces méthodologies ont été décrites dans certains programmes.