Pseudo-code for O(n^2) sorts Slightly modified from Koffmann & Wolfgang /* SELECTION */ public class S1 { public static void sort(int[] table) { int n = table.length; for (int i = 0; i < n-1; i++) { int minPos = i; for (int j = i + 1; j < n; j++) { if (table[j] < table[minPos]) minPos = j; } // j int temp = table[i]; table[i] = table[minPos]; table[minPos] = temp; } // i } } /* BUBBLE */ public class S2 { public static void sort(int[] table) { int n = table.length; int pass = 1; boolean exchanges = false; do { exchanges = false; for (int i = 0; i < n - pass; i++) { if (table[i+1] < table[i]) { int temp = table[i]; table[i] = table[i+1]; table[i+1] = temp; exchanges = true; } // if } // for i pass++; } while (exchanges); // do } } /* INSERTION */ public class S3 { public static void sort(int[] table) { int n = table.length; for (int i = 1; i < n; i++) { putIt(table, i); } } public static void putIt(int[] table, int pos) { int value = table[pos]; while (pos > 0 && value < table[pos-1]) { table[pos] = table[pos-1]; pos--; } table[pos] = value; } }