logo

Ordenar por selección en Java

Podemos crear un programa Java para ordenar elementos de una matriz mediante clasificación por selección. En el algoritmo de clasificación por selección, buscamos el elemento más bajo y lo organizamos en la ubicación adecuada. Intercambiamos el elemento actual con el siguiente número más bajo.

clasificación de selección

¿Cómo funciona la clasificación por selección?

El algoritmo de clasificación por selección funciona de una forma muy sencilla. Mantiene dos subarreglos para la matriz dada.

cuantas frutas hay
  • El subarreglo ya está ordenado.
  • Y el segundo subconjunto no está ordenado.

Con cada iteración de ordenación por selección, se selecciona un elemento del subarreglo no ordenado y se mueve al subarreglo ordenado.

procesamiento de datos
 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 

Complejidad del tiempo

Mejor: ?(n^2)
Promedio: ?(n^2)
El peor: O(n^2)

Complejidad espacial

O(1)

Ejemplo de Java de ordenación por selección

 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>

Ordenación por selección en Java (otra forma)

También puede utilizar un método donde la matriz no esté predefinida. Aquí, el usuario debe poner los elementos como entrada.

En el siguiente programa Java, le pedimos al usuario que ingrese los elementos o el número de la matriz, ahora compare el elemento de la matriz y comience a intercambiar con la variable temp. Coloque el primer elemento en la temperatura y el segundo elemento en el primero, y luego la temperatura en el segundo número y continúe durante la siguiente coincidencia para ordenar toda la matriz en orden ascendente.

 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;>