Cet article décrit les algorithmes de tri couramment utilisés pour les tableaux Java. Partagez-le pour votre référence, comme suit:
1. Méthode de tri à bulles
SoiRArray_01.java
classe publique sortarray_01 {public static void main (String args []) {int [] array = {14, 5, 86, 4, 12, 3, 21, 13, 11, 2, 55, 66, 22}; // Créez un tableau de tableau de tableau unidimensionnel initialisé System.out.println ("Array non trié:"); pour (int i = 0; i <array.length; i ++) {// Traverse Elements in Array Array System.out.print ("+ Array [i]); // élément de tableau de sortie if ((i + 1)% 5 == 0) // une ligne pour chaque 5 éléments System.out.println ();} int; // define une variable intermate Array.Length; i ++) {// Effectuer un tri de bulles pour (int j = i; j <array.length; j ++) {if (array [j] <array [i]) {array [j] = mid; 0;Résultats en cours:
Tableau non trié: 14 5 86 4 12 3 21 13 11 2 55 66 22 Tableau trié par Bubble Method: 2 3 4 5 11 12 13 14 21 22 55 66 86
2. Tri incrémentiel du tableau
SoiRArray_02.java
Importer java.util.arrays; import java.util.random; public class sortarray_02 {public static void main (String [] args) {random rd = new random (); int [] array = new int [15]; // Déclare le système System.out.println ("Array avant que la méthode de tri ne soit utilisée:"); for (int i = 0; i <array.length; i ++) {// Utilisez des nombres aléatoires pour générer 15 nombres aléatoires entre 0 et 20 array [i] = rd.nextint (20); // Attribuez une valeur à l'array System.out.print ("" + array [i]); if ((i + 1)% 5 == 0) System.out.println (); } Arrays.sort (array); // trier le tableau ascendante System.out.println ("/ narray après avoir utilisé la méthode de tri:"); pour (int i = 0; i <array.length; i ++) {// publiez les données dans le tableau Array System.out.print ("+ array [i]); if ((i + 1)% 5 == 0) System.out.println ();}}}Résultats en cours:
Tableau avant que la méthode de tri ne soit pas utilisée: 13 12 11 18 11 11 11 13 13 11 8 1 0 9 18 3Array après que la méthode de tri est utilisée: 0 1 3 8 9 11 11 11 11 11 12 13 13 18 18 18
3. Méthode de tri rapide
SoiRArray_03.java
classe publique sortarray_03 {public static void main (String args []) {int [] intarray = {12, 11, 45, 6, 8, 43, 40, 57, 3, 20, 15, 88, 23}; System.out.println ("Array Avant le tri:"); pour (int i = 0; i <intarray.length; i ++) {System.out.print ("+ intarray [i]); // élément de tableau de sortie if ((i + 1)% 5 == 0) // System.out.println ();} System.out.println (); int System.out.println ("Array Using Quicksort:"); if ((i + 1)% 5 == 0) // une ligne pour chaque 5 éléments System.out.println (); }} public static int getmiddle (int [] array, int gauche, int droit) {int temp; // Faites un tri rapide et retournez à la position du point central int mid = array [gauche]; // place le centre à un [0] while (gauche <droit) {while (gauche <droite && array [droite]> = mid) droite--; temp = array [à droite]; // déplacez les données plus petites que le point central vers le tableau gauche [droite] = tableau [gauche]; Array [gauche] = temp; while (gauche <droite && array [gauche] <= mid) gauche ++; temp = array [à droite]; // déplacez les données plus grandes que le point central vers le tableau droit [à droite] = tableau [gauche]; Array [gauche] = temp; } Array [gauche] = mid; // déplace le centre vers le retour de position correcte à gauche; // Retour au point central} public static int [] QuickSort (int [] array, int Left, int droit) {// Méthode de tri rapide if (gauche <droite - 1) {// Si le point de départ et le nœud ne se chevauchent pas, c'est-à-dire le pointeur, le pointeur n'a pas été exécuté à l'extrémité int mid = getmiddle (tableau, à gauche); // Récupère le point de sortie du point médian (tableau, gauche, milieu - 1); Quicksort (tableau, mid + 1, à droite); } Return Array; }}Résultats en cours:
Tableau avant le tri: 12 11 45 6 8 43 40 57 3 20 15 88 23 Tableau après avoir utilisé la méthode QuickSelect: 3 6 8 11 12 20 15 23 40 43 45 88 57
4. Sélectionnez la méthode de tri
SoiRArray_04.java
classe publique sortarray_04 {public static void main (String args []) {int [] array = {14, 5, 86, 4, 12, 3, 51, 13, 11, 2, 32, 6, 45, 34}; // Créer un tableau de tableau unidimensionnel initialisé Int KeyValue; // indique la plus petite valeur d'élément int index; // indique la plus petite valeur d'élément int temp; // variable intermédiaire System.out.println ("Array non trié:"); pour (int i = 0; i <array.length; i ++) {// Traverse Elements dans le tableau Array System.out.print ("" + array [i]); // Élément de tableau de sortie if ((i + 1)% 5 == 0) // une ligne pour chaque 5 éléments System.out.println (); } pour (int i = 0; i <array.length; i ++) {// Utilisez l'indice de base de la méthode de tri de sélection = i; keyValue = array [i]; for (int j = i; j <array.length; j ++) if (array [j] <keyvalue) {index = j; keyValue = array [j]; } temp = array [i]; array [i] = array [index]; array [index] = temp; } System.out.println ("/ Nuser le tableau après avoir sélectionné le tri:"); for (int i = 0; i <array.length; i ++) {// traverse les éléments dans le système de tableau trié.out.print ("" + array [i]); // élément de tableau de sortie if ((i + 1)% 5 == 0) System.out.println (); // une ligne pour 5 éléments}}}Résultats en cours:
Tableau non trié: 14 5 86 4 12 3 51 13 11 2 32 6 45 34 tableaux après avoir utilisé la méthode de tri de sélection: 2 3 4 5 6 11 12 13 14 32 34 45 51 86
PS: Voici un outil de démonstration pour votre référence:
Animation en ligne INSERT INSERT / SELECT / Bubble / Merge / Hill / Quick Tri Algorithme Process Toolet:
http://tools.vevb.com/aideddesign/paixu_ys
Pour plus d'informations sur les algorithmes Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Structure de données Java et tutoriel d'algorithme", "Résumé des conseils de nœud de Dom Operation Java", "Résumé du fichier Java et des conseils d'opération de répertoire" et "Résumé des conseils d'opération Java Cache"
J'espère que cet article sera utile à la programmation Java de tous.