Toute séquence de données du même type peut être représentée sous forme de liste. Les listes peuvent être ordonnées et non ordonnées. Dans ce dernier cas, travailler avec les données, trouver la valeur souhaitée et accéder aux éléments de la liste posent certaines difficultés. La liste des variables de chaîne est généralement triée par ordre alphabétique. Il existe de nombreuses méthodes de tri, dans chaque cas, vous devez choisir l'algorithme le plus optimal.
Instructions
Étape 1
Lors du choix de la meilleure méthode de tri, il y a deux choses à considérer: le temps pris pour l'opération de tri et la quantité de mémoire requise pour le stockage auxiliaire. Les algorithmes de tri qui ne nécessitent pas de mémoire supplémentaire sont appelés tris "en place". L'un des plus faciles à mettre en œuvre est un tri à bulles lent, qui analyse chaque paire d'éléments de la liste et change de place en fonction de l'ordre souhaité.
Étape 2
Il existe une méthode de tri plus rapide en trouvant l'élément minimum ou maximum dans la liste. Dans le cas du tri par ordre alphabétique, chaque fois que vous parcourez la liste, vous devez trouver son élément maximum - ce sera une chaîne commençant par la lettre la plus proche du début de l'alphabet. Une fois trouvée, la chaîne est échangée avec le tout premier élément de la liste lors du premier passage. Après un examen plus approfondi de la liste, la première place est exclue, l'élément maximal suivant est recherché, placé à la deuxième place, etc. Le code du programme de tri en C++ par la méthode de recherche de l'élément maximum de la liste: String Arr [20], cTemp; int N = 20, Max, Pos; for (int i = 0; i <N- 1; i ++) {Max = Arr ; Pos = je; for (int j = 0; j <N; j ++) {if (Arr [j] <Max) {Max = Arr [j]; Pos = j; } cTemp = Arr ; Arr = Arr [Pos]; Arr [Pos] = cTemp; }}
Étape 3
La solution la plus optimale pour ordonner les données de chaîne dans une liste est le tri par insertion. Son essence réside dans le fait qu'à chaque passage dans la liste, il y a une partie ordonnée de la liste d'un certain nombre d'éléments, ainsi, l'élément suivant considéré est placé à un endroit approprié dans la liste. Code C++ de l'algorithme de tri par insertion: String Arr [20], cTemp; int N = 20; for (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; j = je - 1; while (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; j--; si (j <0) cassure; Arr [j + 1] = cTemp; }}