среда, 1 августа 2012 г.

algorithm: selection sort


    Сортировка выборками (Selection Sort):
public class SelectionSort {
    public static void sort(int[] arr) {
        for (int barrier = 0; barrier < arr.length - 1; barrier++) {
            for (int index = barrier + 1; index < arr.length; index++) {
                if (arr[barrier] > arr[index]) {
                    int tmp = arr[index];
                    arr[index] = arr[barrier];
                    arr[barrier] = tmp;
                }
            }
        }
    }
}

    Пример использования:
import java.util.Arrays;

public class SelectionSortTest {

    public static void main(String[] args) {
        int[][] data = {
                {},
                {1},
                {2, 1},
                {4, 6, 2},
                {0, 3, 2, 1},
                {6, 8, 3, 100, 5, 4, 1, 2, 0, 9, 7},
        };
        for (int[] arr : data) {
            System.out.print(Arrays.toString(arr) + " -> ");
            SelectionSort.sort(arr);
            System.out.println(Arrays.toString(arr));
        }
    }
}
>> [] -> []
>> [1] -> [1]
>> [2, 1] -> [1, 2]
>> [4, 6, 2] -> [2, 4, 6]
>> [0, 3, 2, 1] -> [0, 1, 2, 3]
>> [6, 8, 3, 100, 5, 4, 1, 2, 0, 9, 7] -> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]



    Лабораторные
    Задания лабораторных можно прочитать на этой странице.
    К этой странице относится лабораторная proc.loop.selection_sort_optimized.