Introduction au tri en C ++

Ayant une collection d'éléments à commander, le tri permet d'organiser les éléments dans l'enregistrement en fonction de la relation de classement. Considérez un enregistrement de fichier qui contient beaucoup d'informations, pour accéder à une liste à partir de l'enregistrement, il est nécessaire d'avoir un champ clé pour pointer l'emplacement actuel de l'élément. Par exemple, considérez une liste de noms dans la base de données, elle pourrait être triée par ordre alphabétique. Le tri a placé un rôle important dans le domaine des ordinateurs et de la technologie. Voyons-en plus dans cet article.

Qu'est-ce que le tri en C ++?

Le tri est le concept de base utilisé par le programmeur ou le chercheur pour trier les entrées requises. L'ordre de complexité est donné par 0 (N * log (N)). Le tri d'une entrée facilite la résolution de nombreux problèmes tels que la recherche, l'élément maximal et minimal. Bien qu'un tri organise les données dans la séquence, l'efficacité du processus est très importante et repose sur deux critères: - Temps et mémoire requis pour effectuer le tri sur les données données. Le temps est mesuré en comptant les comparaisons des clés utilisées. Il existe de nombreux algorithmes disponibles pour trier. En général, le tri en C ++ se distingue en deux types:

  1. Tri interne
  2. Tri externe

Syntaxe et exemple

Syntaxe:

C ++ utilise la fonction intégrée sort () pour leurs algorithmes, pour trier les conteneurs comme des vecteurs, des tableaux.

Sort (tableau, tableau + taille);

Exemples:

#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)
#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)
#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)

Production:

Comment ça marche?

Pour commencer, nous prendrons le tri rapide, qui est considéré comme une méthode importante parmi les différents types de tri. Le tri de base d'un tableau adopte une approche Quicksort. Il existe différentes façons d'implémenter le tri, le but de chacune de ces techniques est le même que de comparer deux éléments et de les échanger avec la variable temporaire. Dans cet article, nous discuterons du tri le plus important utilisé pour l'implémentation. Voici:

  1. Tri des bulles
  2. Tri par insertion
  3. Tri rapide
  4. Tri de sélection

Il y a le tri par fusion, le tri par radix, le tri par bande dont nous pourrons discuter plus tard. Tout d'abord, nous irons avec le type Bubble.

1. Tri des bulles

Le tri à bulles est l'une des méthodes de tri les plus simples que nous pouvons utiliser pour les applications. Dans cette technique, des échanges successifs sont effectués à travers les enregistrements à trier. A chaque étape, il compare la clé aux données et échange les éléments sinon dans l'ordre souhaité. Le tri est effectué avec les éléments adjacents au moment où un seul élément est placé à l'endroit trié après un échange.

Exemple: considérons un tableau non trié A () = (6, 2, 4, 7, 1)

624sept1
A (0)A (1)A (2)A (3)A (4)

Étape 1: En comparant A (0)> A (1), si la condition est vraie, permutez l'élément (6> 2) vrai, placez 2 dans A (0). De même, toutes les étapes sont identiques jusqu'à ce que le tableau soit trié.

Maintenant, le tableau est A () = (2, 6, 4, 7, 1)

Étape 2: 6 est comparé à 4. Comme 6 est supérieur à 4. Par conséquent, 6 et 4 sont échangés.

Maintenant, le tableau est A () = (2, 4, 6, 7, 1)

Étape 3: L' élément 6 est comparé à 7. Puisque 6 <2 et les éléments sont dans l'ordre croissant, les éléments ne sont pas échangés.

Le tableau trié est A () = (2, 4, 6, 7, 1).

Continuez le processus jusqu'à ce que le tableau soit trié.

2. Tri par insertion

Dans cette technique, nous commençons avec le deuxième élément de données en supposant que le premier élément est déjà trié et que la comparaison est effectuée avec le deuxième élément et que l'étape se poursuit avec l'autre élément suivant. Dans un tableau de N éléments, il est nécessaire d'avoir N-1 passes pour avoir un élément trié.

Considérons un tableau A () = (8, 3, 6, 1)

8361

Étape 1: Le premier élément recherche le plus grand élément du tableau à permuter. S'il est plus grand, il reste le même et passe au deuxième élément, ici 8 est plus grand que tout, aucun échange n'est effectué.

8361

Étape 2: échange avec le deuxième élément

3861

Étape 3: échange avec le troisième élément

3681

Étape 4: échange avec le quatrième élément

1368

3. Tri rapide

Cette technique suit l'algorithme de division et de conquête et est considérée comme très efficace et plus rapide pour les énormes tableaux. Ils sont divisés en trois sous-sections: une gauche, une droite et le milieu. L'élément du milieu a une valeur unique et il est nommé pivot. Le mécanisme est le suivant: l'élément du segment de gauche ne doit pas avoir de clé plus grande que l'élément du milieu et l'élément no de droite a une clé plus petite que celle de l'élément du milieu. Commençons maintenant par une illustration du processus de tri. Quicksort utilise un concept récursif lors du tri de la sous-partie. Le tableau est divisé en sous-parties, encore une fois les segments gauche et droit sont partitionnés par conquête. Ici, dans cet exemple, en considérant que le dernier élément a pivoté et que le premier élément est supposé bas. Considérons un élément de tableau

492211165630

Prendre l'élément le plus à droite a l'élément pivot = 30

162211305649

L'élément supérieur au pivot est placé vers la gauche, plus petit à droite.

1622115649

Le pointeur est placé au niveau du pivot et est divisé autour d'un pivot.

1122165649

Les sous-parties sont triées individuellement.

111622304956

Enfin, nous avons obtenu un tableau trié.

4. Tri de sélection

Cette technique est également appelée tri par échange et effectue une recherche et un tri en double opération. L'implémentation nécessite un tri de sélection simple tel que défini ci-dessous. Ici, il est nécessaire d'identifier le plus petit élément présent dans le tableau et cet élément est trié dans la première position i, Ensuite, le deuxième plus petit élément est identifié, et il est trié dans la deuxième position. Le tri de sélection quitte sa boucle lorsque la sous-partie non triée devient vide. La complexité temporelle est donnée par O (n 2 ).

Considérez le tableau suivant:

6326132312

1. Trouver le plus petit élément et le placer au début et il est échangé avec la position.

1226132363

2. Le deuxième élément a (1) est identifié comparé à l'élément minimum et placez-le dans la deuxième position, de même, la passe continue.

1213262364

Sortie triée finale

1213232664

Conclusion

Pour conclure, cet article s'est concentré sur les concepts de tri et leur mécanisme de travail. Toutes ces techniques de tri utilisent des concepts de traitement parallèle. Le tri constitue un élément de base dans les algorithmes de structuration pour résoudre les problèmes de données dans le monde réel en triant l'ensemble de valeurs en fonction des besoins.

Articles recommandés

Ceci est un guide pour le tri en C ++. Nous discutons ici de l'introduction et de la syntaxe avec des exemples ainsi que de la façon dont cela fonctionne. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus–

  1. Tri dans Tableau
  2. Itérateur en C ++
  3. Fonctions de tableau en C
  4. Tri en tas en C
  5. Comment le tri est-il effectué en PHP?
  6. Tri de tas en Python
  7. Itérateur en Java
  8. Les 11 principales fonctionnalités et avantages de C ++
  9. Itérateur en Python | Avantages et exemples de Python