[JAVA] SélectionSort

J'ai écrit un programme pour Selection Sort.

SelectionSort recherche les petites données et échange les éléments en première position. Puisqu'il est répété, il est nécessaire de comparer n ^ 2/2 fois, et la quantité de calcul est O (n ^ 2).

SelectionSort.java


import java.util.*;
public class SelectionSort {
    static boolean debug = false;
    public static void main(String[] args) {
	if (args.length > 0 && args[0].equals("-d")) debug = true;
	Scanner sc = new Scanner(System.in);
	System.out.print("Veuillez saisir le nombre de données");
	int n = sc.nextInt();
	int[] a = new int[n];
	for (int i=0; i<n; i++) a[i] = sc.nextInt(); 
	sort(a);
	System.out.println(toString(a));
    }
    public static void sort(int[] a) {
	    for(int i = 0; i < a.length-1; i++) {
	    int k = i;
	    for(int j = i + 1; j < a.length; j++) {
		if(a[k] > a[j]) k = j;		
	    }
	    int tmp = a[i];
	    a[i] = a[k];
	    a[k] = tmp;
	    if(debug) { System.out.println("sorting: " + toString(a)); }
	}
    }
    public static String toString(int[] a) { 
        StringBuffer sb = new StringBuffer();
	for(int i = 0; i < a.length; i++) {
	    sb.append(a[i] + " ");
	}	
	return sb.toString();
    }
}

Recommended Posts

SélectionSort
Tri sélectif O (n ^ 2)
Trier
Sélection en plusieurs étapes
Insérer un tri
[Python] Trier
Tri naturel
Python #sort
Tri à bulles
Tri à bulles
Tri sélect écrit en C
AOJ Trier I-
Ensembles de données de sélection de fonctionnalités
Fusionner le tri expliqué
Insérer l'implémentation du tri
Tri pratique du sommeil
Trier par pandas
J'ai essayé d'implémenter le tri sélectif en python
visualiser le tri par insertion
Tri par bulles, tri par sélection, tri par insertion, tri par shell, tri par fusion, tri rapide, tri par comptage (Python)