Oppgave 2
public static int[] nestMaks(int[] a) { if (a.length < 2) // må ha minst to verdier! throw new IllegalArgumentException("a.length(" + a.length + ") < 2!"); int m = Tabell.maks(a); // m er posisjonen til tabellens største verdi Tabell.bytt(a,0,m); // bytter om slik at den største kommer forrest int k = Tabell.maks(a,1,a.length); if (k == m) k = 0; // den nest største lå opprinnelig forrest Tabell.bytt(a,0,m); // bytter tilbake return new int[] {m,k}; } // nestMaks
Oppgave 3
public static int[] nestMaks(int[] a) { if (a.length < 2) // må ha minst to verdier! throw new IllegalArgumentException("a.length(" + a.length + ") < 2!"); int m = Tabell.maks(a); // m er posisjonen til tabellens største verdi Tabell.bytt(a,a.length-1,m); // bytter om slik at den største kommer bakerst int k = Tabell.maks(a,0,a.length-1); if (k == m) k = a.length - 1; // den nest største lå opprinnelig bakerst Tabell.bytt(a,a.length-1,m); // bytter tilbake return new int[] {m,k}; } // nestMaks
Oppgave 4
public static void sortering(int[] a) { for (int i = a.length; i > 1; i--) { int m = Tabell.maks(a,0,i); Tabell.bytt(a,i-1,m); } }
Oppgave 5
public static void sortering(int[] a) { for (int i = 0; i < a.length - 1; i++) { int m = Tabell.min(a,i,a.length); Tabell.bytt(a,i,m); } }