Enhanced selection sort SelectionSortDemo.java package chapter7; /** This program demonstrates the selectionSort method in the ArrayTools class. */ public class SelectionSortDemo { public static void main(String[] arg) { int[] values = {5, 7, 2, 8, 9, 1}; // Display the unsorted array. System.out.println("The unsorted values are:"); for (int i = 0; i < values.length; i++) System.out.print(values[i] + " "); System.out.println(); // Sort the array. selectionSort(values); // Display the sorted array. System.out.println("The sorted values are:"); for (int i = 0; i < values.length; i++) System.out.print(values[i] + " "); System.out.println(); } /** The selectionSort method performs a selection sort on an int array. The array is sorted in ascending order. @param array The array to sort. */ public static void selectionSort(int[] array) { int startScan, index, minIndex, minValue; for (startScan = 0; startScan < (array.length-1); startScan++) { minIndex = startScan; minValue = array[startScan]; System.out.println("Start value " + array[startScan]); System.out.println("Start index " + startScan); for(index = startScan + 1; index < array.length; index++) { if (array[index] < minValue) { System.out.println("===>Found new value " + array[index]); System.out.println("===>Found new index " + index); minValue = array[index]; minIndex = index; System.out.println("===>Set value to " + array[index]); System.out.println("===>Set index to " + index); } } array[minIndex] = array[startScan]; array[startScan] = minValue; System.out.print("Pass " + startScan + ": "); for (int i=0; i
Enhanced selection sort
SelectionSortDemo.java
package chapter7; /** This program demonstrates the selectionSort method in the ArrayTools class. */ public class SelectionSortDemo { public static void main(String[] arg) { int[] values = {5, 7, 2, 8, 9, 1}; // Display the unsorted array. System.out.println("The unsorted values are:"); for (int i = 0; i < values.length; i++) System.out.print(values[i] + " "); System.out.println(); // Sort the array. selectionSort(values); // Display the sorted array. System.out.println("The sorted values are:"); for (int i = 0; i < values.length; i++) System.out.print(values[i] + " "); System.out.println(); } /** The selectionSort method performs a selection sort on an int array. The array is sorted in ascending order. @param array The array to sort. */ public static void selectionSort(int[] array) { int startScan, index, minIndex, minValue; for (startScan = 0; startScan < (array.length-1); startScan++) { minIndex = startScan; minValue = array[startScan]; System.out.println("Start value " + array[startScan]); System.out.println("Start index " + startScan); for(index = startScan + 1; index < array.length; index++) { if (array[index] < minValue) { System.out.println("===>Found new value " + array[index]); System.out.println("===>Found new index " + index); minValue = array[index]; minIndex = index; System.out.println("===>Set value to " + array[index]); System.out.println("===>Set index to " + index); } } array[minIndex] = array[startScan]; array[startScan] = minValue; System.out.print("Pass " + startScan + ": "); for (int i=0; i<array.length; i++) System.out.print(array[i] + " "); System.out.println(); System.out.println(); } } }
Modify the selection sort
Use the following array to test:
{"Now", "we", "are", "engaged", "in", "a", "great", "civil", "war", "testing", "whether", "that", "nation", "or", "any", "nation", "so", "conceived", "and", "so", "dedicated", "can", "long", "endure"}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images