|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- //Oppgavetekst: implementer en sorteringsalgoritme
-
- import java.util.ArrayList;
- import java.util.Scanner;
-
- class MinOppgave3 {
- private static void swap(int[] arr, int i1, int i2) {
- int tmp = arr[i1];
- arr[i1] = arr[i2];
- arr[i2] = tmp;
- }
-
- //Insertion sort
- private static void sort(int[] arr) {
-
- //Iterate through the array, skipping the first value
- for (int i = 1; i < arr.length; ++i) {
-
- //Iterate backwards, from the current index,
- //until we reach sorted values
- int j = i;
- while (j > 0 && arr[j-1] > arr[j]) {
-
- //Since the while loop hasn't exited,
- //we know arr[j] and arr[j-1] is in the wrong order,
- //so we swap them
- swap(arr, j, j-1);
-
- j -= 1;
- }
- }
- }
-
- public static void main(String[] args) {
- if (args.length == 0) {
- System.out.println("Usage: MinOppgave3 <ints>");
- System.exit(1);
- }
-
- int[] ints = new int[args.length];
-
- //Build array of ints
- for (int i = 0; i < args.length; ++i) {
- ints[i] = Integer.parseInt(args[i]);
- }
-
- //Sort the array; arrays are passed by pointer, so sort()
- //modifies the array itself
- sort(ints);
-
- //Print the elements in the sorted array
- for (int i = 0; i < ints.length; ++i) {
- System.out.print(ints[i]);
- if (i != ints.length - 1) {
- System.out.print(", ");
- }
- }
- System.out.println("");
- }
- }
|