import java.util.Arrays; public class QuadSorts { public void swap(int[]A,int i, int j){ int temp = A[i]; A[i] = A[j]; A[j] = temp; } public void selectionSort(int[] list) { for (int i = 0; i < list.length; i++) { // Find the minimum in the list[i..list.length-1] int currentMin = list[i]; int currentMinIndex = i; for (int j = i + 1; j < list.length; j++) { if (currentMin > list[j]) { currentMin = list[j]; currentMinIndex = j; } } swap(list,i, currentMinIndex); } } public void bubbleSort(int[] list) { boolean needNextPass = true; for (int k = 1; k < list.length && needNextPass; k++) { // Array may be sorted and next pass not needed needNextPass = false; for (int i = 0; i < list.length - k; i++) { if (list[i] > list[i + 1]) { swap(list,i,i+1); needNextPass = true; // Next pass still needed } } } } public static void main(String[] args){ QuadSorts quaso = new QuadSorts(); int[] list = new int[10]; for(int i=0;i<10;i++) list[i] = (int)(100*Math.random()); System.out.println("Selection Sort: " + Arrays.toString(list)); quaso.selectionSort(list); System.out.println(Arrays.toString(list)); for(int i=0;i<10;i++) list[i] = (int)(100*Math.random()); System.out.println("Bubble Sort: " + Arrays.toString(list)); quaso.bubbleSort(list); System.out.println(Arrays.toString(list)); } }