logo

Tri par sélection en Java

Nous pouvons créer un programme Java pour trier les éléments du tableau en utilisant le tri par sélection. Dans l'algorithme de tri par sélection, nous recherchons l'élément le plus bas et le plaçons au bon emplacement. Nous échangeons l'élément actuel avec le numéro le plus bas suivant.

tri par sélection

Comment fonctionne le tri par sélection ?

L'algorithme de tri par sélection fonctionne de manière très simple. Il maintient deux sous-tableaux pour le tableau donné.

file d'attente et file d'attente prioritaire en Java
  • Le sous-tableau est déjà trié.
  • Et le deuxième sous-tableau n'est pas trié.

À chaque itération de tri par sélection, un élément est sélectionné dans le sous-tableau non trié et déplacé vers le sous-tableau trié.

exploration de données
 arr[] = 25 35 45 12 65 10 // Find the minimum element in arr[0...5] and place it at beginning. 10 25 35 45 12 65 // Find the minimum element in arr[1...5] and place it at beginning of arr[1...5] 10 12 25 35 45 65 // Find the minimum element in arr[2...5] and place it at beginning of arr[2...5] No, you can see that the array is already sorted. 10 12 25 35 45 65 

Complexité temporelle

Meilleur: ?(n^2)
Moyenne: ?(n^2)
Pire: O(n^2)

Complexité spatiale

O(1)

Exemple Java de tri par sélection

 public class SelectionSortExample { public static void selectionSort(int[] arr){ for (int i = 0; i <arr.length - 1; i++) { int index="i;" for (int j="i" + < arr.length; j++){ if (arr[j] arr[index]){ lowest } smallernumber="arr[index];" arr[index]="arr[i];" arr[i]="smallerNumber;" public static void main(string a[]){ int[] arr1="{9,14,3,2,43,11,58,22};" system.out.println('before selection sort'); for(int i:arr1){ system.out.print(i+' '); system.out.println(); selectionsort(arr1); sorting array using sort system.out.println('after pre> <p>Output:</p> <pre> Before Selection Sort 9 14 3 2 43 11 58 22 After Selection Sort 2 3 9 11 14 22 43 58 </pre> <h2>Selection Sort in Java (Another way)</h2> <p>You can also use a method where array is not predefined. Here, user has to put the elements as input.</p> <p>In the following Java program, we ask user to enter the array elements or number, now compare the array&apos;s element and start swapping with the variable temp. Put the first element in the temp and the second element in the first, and then temp in the second number and continue for the next match to sort the whole array in ascending order.</p> <pre> import java.util.Scanner; public class SelectionSortExample2 { public static void main(String args[]) { int size, i, j, temp; int arr[] = new int[50]; Scanner scan = new Scanner(System.in); System.out.print(&apos;Enter Array Size : &apos;); size = scan.nextInt(); System.out.print(&apos;Enter Array Elements : &apos;); for(i=0; i<size; i++) { arr[i]="scan.nextInt();" } system.out.print('sorting array using selection sort technique..
'); for(i="0;" i<size; for(j="i+1;" j arr[j]) temp="arr[i];" arr[j]="temp;" system.out.print('now the after sorting is :
'); system.out.print(arr[i]+ ' '); < pre> <p>Output:</p> <strong> Use image SelectionSort</strong> </size;></pre></arr.length>

Tri par sélection en Java (une autre manière)

Vous pouvez également utiliser une méthode où le tableau n'est pas prédéfini. Ici, l'utilisateur doit mettre les éléments en entrée.

Dans le programme Java suivant, nous demandons à l'utilisateur de saisir les éléments ou le nombre du tableau, de comparer maintenant l'élément du tableau et de commencer à échanger avec la variable temp. Mettez le premier élément dans le temp et le deuxième élément dans le premier, puis temp dans le deuxième nombre et continuez pour la correspondance suivante pour trier l'ensemble du tableau par ordre croissant.

 import java.util.Scanner; public class SelectionSortExample2 { public static void main(String args[]) { int size, i, j, temp; int arr[] = new int[50]; Scanner scan = new Scanner(System.in); System.out.print(&apos;Enter Array Size : &apos;); size = scan.nextInt(); System.out.print(&apos;Enter Array Elements : &apos;); for(i=0; i<size; i++) { arr[i]="scan.nextInt();" } system.out.print(\'sorting array using selection sort technique..
\'); for(i="0;" i<size; for(j="i+1;" j arr[j]) temp="arr[i];" arr[j]="temp;" system.out.print(\'now the after sorting is :
\'); system.out.print(arr[i]+ \' \'); < pre> <p>Output:</p> <strong> Use image SelectionSort</strong> </size;>