Itérateurs
Un itérateur agit comme un pointeur qui indique les éléments à l'intérieur de la liste. Les itérateurs sont principalement utilisés pour se déplacer dans les données dans une liste. Les itérateurs sont également utilisés pour indiquer l'adresse mémoire des conteneurs. Dans cet article, certaines opérations d'itérateurs sont expliquées.
Commencer()
Cette fonction commence () a un itérateur qui est renvoyé avec la valeur montrant le premier élément. Il est assez différent de la fonction avant () de l'itérateur car la fonction avant renvoie une référence, mais le début () renvoie l'itérateur lui-même.
Fin()
Il renvoie un itérateur qui pointe vers le dernier élément de la liste.
Avance()
Il s'agit d'une opération importante car elle est utilisée pour incrémenter la position de l'itérateur au nombre spécifié mentionné dans le paramètre.
Suivant()
Cette fonction renvoie le nouvel itérateur après avoir avancé sa position, qui est mentionnée dans l'argument.
Prev ()
C'est la fonction qui est utilisée pour apporter le nouvel itérateur qui montre la valeur qui a été décrémentée au numéro décrit dans la liste.
Inserter ()
Ceci est la fonction qui est utilisée pour insérer les nouveaux éléments dans n'importe quelle position de la liste. Il a deux arguments. L'un est le nom du conteneur, et l'autre est le pointeur qui montre la position où le nouvel élément ou les éléments doit être inséré.
Exemple 1
Begin (), end ():
Cet exemple contient le code source pour démontrer le fonctionnement de ces deux fonctions. Comme nous appliquons ces fonctions sur la liste, la bibliothèque de la liste est utilisée ici dans la première étape.
#inclurePuis à l'intérieur du programme principal, nous déclarons une liste avec 5 entiers.
ListeMaintenant, nous voulons afficher tout le contenu de la liste. Donc une boucle pour une boucle est utilisée. Comme nous le savons, A For Loop nécessite un point de départ et de fin dans l'initiative Loop pour démarrer la boucle dans la liste «MyList». La fonction begin () est utilisée ici. Et à la fin, «MyList. end () ”est utilisé. 'MyList' est l'objet utilisé pour accéder à la liste.
Un itérateur est créé qui commencera et se déplacera jusqu'à la fin par incrément dans chaque boucle. Pour exécuter le code source, utilisez un compilateur G ++ pour la compilation puis exécution du code. Accédez à la borne Linux, puis utilisez les commandes ci-dessous.
fichier de fichier $ g ++ -o.c
$ ./déposer
La valeur résultante contiendra tous les nombres que nous avons entrés dans la liste via le programme principal.
Exemple 2
Avance ():
Comme décrit ci-dessus, cette fonction est utilisée pour incrémenter l'itérateur à un nombre spécifique passé comme son argument. Considérons maintenant l'exemple suivant dans lequel nous avons appliqué une classe Itérator avec la classe de liste afin que toutes les fonctions des itérateurs puissent être effectuées facilement.
Après la déclaration d'une liste, l'itérateur est déclaré sur la liste.
Liste«PTR» est un objet de l'itérateur. Cet itérateur se voit attribuer la fonction début (). Maintenant, nous devons sauter vers le point particulier, nous augmenterons la position de l'itérateur jusqu'à 2, et cela se fait en utilisant la fonction Advance ().
Advance (Ptr, 2);
Cette fonction prend l'objet de l'itérateur et le numéro pour montrer la position où nous voulons déplacer l'itérateur. Après cela, la position de l'itérateur à ce stade est affichée. Par défaut, c'était à la première position; En utilisant Advance, ce sera maintenant à 3.
Enregistrez le code source dans le fichier, puis l'exécutez pour voir les valeurs exécutées.
Exemple 3: Next (), prev ()
Les deux itérateurs sont retournés avec la valeur lorsque l'itérateur est incrémenté et une fois l'itérateur décrémenté. Les positions sont mentionnées dans l'argument, car ils sont décrits à l'avance () paramètre de fonction. Après avoir utilisé les bibliothèques à l'intérieur du programme principal, la liste est déclarée d'abord dans l'exemple. Après cela, les itérateurs sont créés puis déclarés sur la liste. Deux itérateurs distincts sont créés avec différents objets de pointeur itérateur pour les deux fonctions.
Tout d'abord, nous utiliserons le prochain itérateur qui renverra le nouvel itérateur qui pointe vers 4.
Auto it = next (ptr, 3);L'itérateur est généré automatiquement et appellera la fonction suivante avec le pointeur et le numéro que nous voulons que l'itérateur soit incrémenté. Donc, tout comme la fonction Advance (), l'itérateur augmentera vers la position donnée. Maintenant, l'étape suivante consiste à utiliser la fonction prev (). Le prev () contiendra également le pointeur d'objet créé ci-dessus et le numéro pour revenir en arrière. Cette fonction renverra un nouvel itérateur qui pointera vers 3.
Auto it1 = prev (ftr, 3);En fin de compte, nous afficherons la position des nouveaux itérateurs dans les deux cas. Les deux valeurs sont affichées en utilisant les pointeurs, car ils stockent les positions dans la liste. Compilez le code, puis vous verrez que les deux fonctions des itérateurs Prev () et Next () affichent les valeurs de la liste via le compilateur.
Exemple 4
Inserter ()
Comme nous l'avons expliqué ci-dessus, cette fonction insère la nouvelle valeur à n'importe quelle position de la liste. Alors maintenant, dans l'exemple, déclarez d'abord une liste avec 3 nombres d'entiers.
Dans Inserter (), nous pouvons insérer un seul numéro et une liste de nombres. Ainsi, dans cet exemple, nous insérons une liste de trois nombres dans la liste que nous avons créée ci-dessus. Créez un itérateur, puis déclarez-le à la liste que nous avons créée. Comme nous devons insérer la nouvelle liste dans un endroit spécifique, nous devons incrémenter l'itérateur à cette position. Et ceci se fait en utilisant l'itérateur Advance ().
Advance (Ptr, 2);
Il incrémentera l'itérateur à la 2e position; Cela signifie qu'après 2, la nouvelle liste sera insérée. Ainsi, avec l'aide d'objets, les éléments d'une liste copieront dans la deuxième liste. Nous utiliserons une fonction de copie ici.
Copier (AR1.begin (), ar1. end (), inserter (ar, ptr));La fonction de copie utilisera le début () et fin (), pour commencer à copier les éléments depuis le début de la deuxième liste et continuer à copier jusqu'à la fin de la liste. La fonction d'inserteur prend l'objet de la première liste et l'objet Iterator indique la position où la liste doit être insérée.
Pour afficher tous les éléments, nous utiliserons une boucle pour.
Les valeurs résultantes obtenues à partir de l'exécution du code ci-dessus montrent que la première liste contient les nombres des deux listes.
Conclusion
'List Iterator C' est l'article qui contient les informations concernant les types d'articles que nous avons appliqués à la liste. Toutes ces opérations sont expliquées avec la description de base. Nous avons également cité quelques exemples pour chaque fonction de l'itérateur. Ces exemples sont implémentés dans le système d'exploitation Linux à l'aide de l'éditeur de texte et du terminal Linux.