Toi de shell C ++

Toi de shell C ++
La langue C ++ a proposé de nombreuses techniques de tri à utiliser dans le programme pour trier un tableau d'objets. L'une de ces techniques de tri est le type de coquille qui est principalement une autre forme de tri d'insertion. Dans le type d'insertion, nous avons tendance à déplacer une seule valeur vers sa prochaine position d'index. Le mouvement d'une valeur à l'indice suivant consécutif peut ne pas donner le résultat requis si nous voulons le placer à la fin et peut prendre plus de temps pendant le tri. En même temps, le tri de coquille peut éloigner une valeur loin de son endroit d'origine et prend moins de temps. Ainsi, nous avons décidé de démontrer le fonctionnement de la technique de tri de coque dans la programmation C ++. Commençons par la création de fichiers C ++ et son ouverture à travers les instructions illustrées ci-dessous sur la console terminale de l'Ubuntu 20.04 Système.

Exemple 01:

À partir du premier exemple d'un nouveau fichier, nous devons d'abord utiliser les bibliothèques requises. Sans l'en-tête «iOStream», un utilisateur ne peut utiliser aucun flux d'entrée et de sortie dans le code. Un programmeur C ++ utilisera toujours «l'espace de noms» et les bibliothèques comme «iOStream», «stdlib» et «stdio.h, »etc. Voici la méthode swap () qui sera appelée par la fonction «tri». La fonction de tri passera deux valeurs à différents endroits à la méthode «swap ()» et utilisera la variable «temporaire» pour les échanger les uns avec les autres.

La fonction show () prendra un tableau et sa taille à afficher dans ses paramètres de la méthode principale (). Il utilisera la boucle «pour» pour itérer l'ensemble du tableau jusqu'à sa taille «S.«Utilisez l'objet« cout »pour afficher chaque valeur en utilisant l'index« i »séparé des autres valeurs par un espace. Une fois toutes les valeurs affichées, le cout sera à nouveau utilisé pour ajouter la pause de ligne.

Une fois le tableau non trié affiché, il tourne pour que la fonction de «tri» fonctionne dessus. La fonction de tri prendra un tableau et sa taille pour une utilisation. Initialisé trois variables entières G, J, K. La variable «G» sera utilisée dans la première boucle externe «pour» pour réduire l'écart entre les valeurs. Il sera démarré à partir du milieu du tableau selon «g = n / 2». À chaque itération, l'écart sera à nouveau diminué de «G / 2», i.e., Une autre moitié sera créée. Ce faisant, le tableau sera divisé en différentes parties, et la taille de l'espace sera moindre. La prochaine boucle «J» commencera à partir de la valeur d'espace actuelle, je.e., «G», qui sera le milieu d'un tableau à ce moment-là. Et il se poursuivra jusqu'au dernier index d'un tableau. Sur chaque itération, «J» sera incrémenté. Le «K» pour la boucle commencera à partir de «J-G» et continuera jusqu'à «k> =.«Si la valeur à« K + G »est supérieure ou égale à la valeur à« k »d'un tableau, elle brisera la boucle. Sinon, les valeurs seront échangées par l'appel de fonction «Swap». Très probablement, la valeur de «K + G» sera une position de départ, et «k» sera à la dernière position d'un tableau.

Chaque programme démarre son exécution à partir du code de fonction du pilote principal () lors de l'exécution. Notre fonction principale () a été lancée avec une initialisation «A» du tableau entier. Ce tableau «A» sera dans un ordre aléatoire, je.e., non ordonné. L'objet «cout» est l'instruction de sortie standard C ++ utilisée pour afficher une valeur de texte ou de variable sur le shell. Cette fois, nous l'avons utilisé pour faire savoir aux utilisateurs que le tableau avant le tri sera affiché à l'écran. La fonction «show ()» sera appelée en le faisant passer le tableau d'origine non trié «A» et le nombre de valeurs que vous souhaitez montrer avant de trier. Bien qu'il y ait un total de 10 éléments dans le tableau, nous avons trié et affiché seulement 9. La méthode de «tri» est appelée en passant le tableau et le nombre d'éléments à régler ici. Une fois le tri réalisé avec le tri de la coque, la méthode «Show» sera à nouveau utilisée pour afficher le total des 9 premiers éléments triés sur la coquille.

La coquille.Le fichier CC a été compilé et a abouti à la sortie ci-dessous après l'exécution. Les 9 éléments non triés pour le tableau sont affichés en premier. Dans la dernière ligne, les 9 mêmes éléments d'un tableau sont affichés dans l'ordre croissant pour le tri.

Exemple 02:

Voici un nouvel exemple d'utilisation de shell dans notre programme. Nous utilisons le même shell.Fichier CC et initialisé notre code avec le même en-tête et espace de noms. Ce programme commence à partir de la fonction principale (). La méthode principale () a un tableau entier A de 5 valeurs déjà initialisées. La variable «n» est initialisée en utilisant la fonction «sizeof ()» pour c++. Ceci est utilisé pour calculer les nombres totaux dans un tableau «A» et enregistrer cette valeur à la variable «n.«Nous pouvons voir que le tableau ne comporte que 5 éléments, vous pouvez donc simplement sauter l'utilisation de calcul de plusieurs éléments et utiliser« 5 »n'importe où dans le code.

Il y a le message pour que les utilisateurs soient alertes car le tableau non trié sera affiché, je.e., via «cout."La fonction" Display () "est appelée ici pour afficher le tableau complet non trié en lui faisant passer un tableau et le nombre d'éléments dedans. La fonction Display () utilisera la boucle «pour» pour itérer le tableau passé jusqu'à son dernier index et afficher les valeurs car elle utilise l'objet «cout» et index «i."Voici la méthode" Sort () ". L'appel de fonction à cette méthode consiste à prendre le tableau et son nombre total d'éléments en entrée. La boucle «pour» la plus extérieure est là pour réduire l'écart entre les valeurs / index en divisant le nombre total d'éléments de 2.

La valeur de «g» doit être supérieure à 0, et elle sera à nouveau diminuée de 2 après chaque itération. Cela diminuera l'écart dans chaque itération. La boucle intérieure «i» prendra la valeur de l'écart «g» comme point de départ et continuera jusqu'à «n.«Dans cette boucle, la valeur de« i »sera affectée à la variable temporaire« temporaire ». La boucle «J» la plus intérieure est là. Il commence du point «i» jusqu'à ce que la valeur de g devienne égale ou supérieure à «g» et aussi, la valeur à l'index «j-g» du tableau devient supérieure à la variable «temporaire». Le «J» sera décrémenté de «G» à chaque fois. Cette boucle continuera d'échanger la valeur à l'index «J-G» avec la valeur à «J.«La valeur de« Temp »sera affectée à l'index« J »du tableau, i.e., échanger si nécessaire. Après être revenu à la fonction Main (), la méthode affichage () sera appelée à nouveau pour afficher le tableau trié.

Sur la compilation et le fonctionnement de la coque.Fichier CC, il s'avère que le tableau non trié a été trié maintenant.

Conclusion:

Dans notre paragraphe d'introduction, nous avons illustré l'objectif principal de l'utilisation du tri des coquilles plutôt que de l'insertion en C++. Pour démontrer comment cela fonctionne, deux exemples simples mais divers ont été construits, qui peuvent être modifiés en fonction des préférences de l'utilisateur. Le premier exemple utilise des méthodes définies par l'utilisateur pour échanger et trier les éléments, mais le second utilise une seule fonction pour effectuer les deux. Ces deux scénarios de tri de coque peuvent être utilisés pour tout projet lié à la technologie.