Επιλογή Ταξινόμηση σε Java Πρόγραμμα με Παράδειγμα
Πώς λειτουργεί η Ταξινόμηση Επιλογής;
Το Selection Sort υλοποιεί έναν απλό αλγόριθμο ταξινόμησης ως εξής:
- Ο αλγόριθμος αναζητά επανειλημμένα το χαμηλότερο στοιχείο.
- Αντικαταστήστε το τρέχον στοιχείο με ένα στοιχείο που έχει τη χαμηλότερη τιμή
- Με κάθε επανάληψη/πέρασμα επιλογής ταξινόμησης, τα στοιχεία ανταλλάσσονται.
Java Το πρόγραμμα για την υλοποίηση της επιλογής ταξινόμησης
package com.guru99;
public class SelectionSortAlgo {
public static void main(String a[])
{
int[] myArray = {860,8,200,9};
System.out.println("------Before Selection Sort-----");
printArray(myArray);
selection(myArray);//sorting array using selection sort
System.out.println("-----After Selection Sort-----");
printArray(myArray);
}
public static void selection(int[] array)
{
for (int i = 0; i < array.length - 1; i++)
{ System.out.println("Sort Pass Number "+(i+1));
int index = i;
for (int j = i + 1; j < array.length; j++)
{
System.out.println("Comparing "+ array[index] + " and " + array[j]);
if (array[j] < array[index]){
System.out.println(array[index] + " is greater than " + array[j] );
index = j;
}
}
int smallerNumber = array[index];
array[index] = array[i];
array[i] = smallerNumber;
System.out.println("Swapping Elements: New Array After Swap");
printArray(array);
}
}
static void printArray(int[] array){
for(int i=0; i < array.length; i++)
{
System.out.print(array[i] + " ");
}
System.out.println();
}
}
Παραγωγή:
------Before Selection Sort----- 860 8 200 9 Sort Pass Number 1 Comparing 860 and 8 860 is greater than 8 Comparing 8 and 200 Comparing 8 and 9 Swapping Elements: New Array After Swap 8 860 200 9 Sort Pass Number 2 Comparing 860 and 200 860 is greater than 200 Comparing 200 and 9 200 is greater than 9 Swapping Elements: New Array After Swap 8 9 200 860 Sort Pass Number 3 Comparing 200 and 860 Swapping Elements: New Array After Swap 8 9 200 860 -----After Selection Sort----- 8 9 200 860
