Below demonstrates one of the implementations of the selection sort algorithm.
import java.util.Arrays;
import java.util.Random;
public class SelectionSortTest {
static int numberOfElements = 10;
static int maxValue = 100;
public static void main(String[] args) {
int[] original = createArrayWithRandomValues();
selectionSort(original);
System.out.println("The sorted array is " + Arrays.toString(original));
}
private static int[] createArrayWithRandomValues() {
Random random = new Random();
int[] original = new int[numberOfElements];
for (int start = 1; start <= numberOfElements; start++) {
original[start - 1] = random.nextInt(maxValue);
}
System.out.println("The original array is " + Arrays.toString(original));
return original;
}
private static void selectionSort(int[] original) {
int outer, inner, minIndex;
for (outer = 0; outer < original.length - 1; outer++) { // from 1st element to next-to-last element
minIndex = outer; // each round the min index starts from the outer index
for (inner = outer + 1; inner < original.length; inner++) { // from outer + 1 element to the last element
if (original[inner] < original[minIndex]) { // remember the index for the new minimum
minIndex = inner;
}
}
// swap the elements between outer index and min index
int temp = original[outer];
original[outer] = original[minIndex];
original[minIndex] = temp;
}
}
}
No comments:
Post a Comment