L'exemple de cet article indique la sélection du résumé de l'algorithme de tri Java. Partagez-le pour tout le monde pour votre référence. L'analyse spécifique est la suivante:
Le fonctionnement de base de la sélection du tri est l'un des éléments minimum (ou maximum) sélectionnés parmi les éléments de données à tri, et l'ordre est à la fin du nombre de séquences jusqu'à ce que les éléments de données doivent être triés. L'algorithme est instable, l'espace supplémentaire d'O (1), la complexité du temps de comparaison est O (n ^ 2), et la complexité du temps de l'échange est O (n), qui n'est pas adaptative. Il n'est pas recommandé dans la plupart des cas. Uniquement lorsque vous souhaitez réduire le nombre d'échanges.
Idées de base
La sélection directe du fichier du fichier enregistré N peut être sélectionnée directement via le voyage N-1 pour obtenir les résultats ordonnés:
① État initial: la zone désordonnée est R [1..N], et la zone ordonnée est vide.
② Le premier tri est trié dans la zone désordonnée R [1..N] pour sélectionner l'enregistrement minimum r [k] et l'échanger avec le premier enregistrement R [1] dans la zone désordonnée. 2..N] sont modifiés en nouvelles zones ordonnées du nombre d'enregistrements et une nouvelle zone désordonnée avec un certain nombre d'enregistrements de 1 et le nombre d'enregistrements a diminué de 1.
Nympho
③ Tri II
Au début du type de I, les zones ordonnées actuelles et les zones de troubles sont R [1..i-1] et R (1≤i≤n-1). Ce type a sélectionné l'enregistrement minimum r [k] dans la zone désordonnée actuelle et l'échange avec le premier enregistrement R dans la zone désordonnée, de sorte que R [1..i] et R sont séparés en enregistrements. Les zones du nombre et une nouvelle zone désordonnée avec un certain nombre de dossiers ont diminué de 1.
De cette manière, la sélection directe des fichiers du fichier enregistré N peut être directement sélectionnée par des voyages N-1 pour obtenir des résultats ordonnés.
Implémentation de code
Classe publique Test {public static int [] a = {10,32,1,9,5,7,12,0,4,3}; {int i; printf ("% 3s", a); ; ; Variable de la valeur minimale INT TEMP; Valeur de la valeur minimale pour le stockage pour (j = i; j <dans <index; j ++) {if (a [j] <minvalue) // Trouvez la valeur minimale {minvalue {minvalue = a [j]; / Stockage minimum index = j;} temp = a; k (k (k = 0; k <index; k ++) system.out.printf ("% 3s", a [k]); System.out.println ("");}}}}}}
Comme la méthode de tri bouillonnante, le cycle de couche externe doit encore effectuer des temps N-1, et son efficacité est encore mauvaise.
On espère que cet article est utile à la conception du programme Java de tous.