Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package selection_sort;
- interface LessThan<T> {
- boolean less(final T t1, final T t2);
- };
- public class Main
- {
- private static <T> void selectionSort(final T[] array, final LessThan<T> lessThan) {
- for (int i = 0; i < array.length; ++i) {
- int index = i;
- for (int j = i + 1; j < array.length; ++j) {
- if (lessThan.less(array[j], array[index]))
- index = j;
- }
- if (index != i) {
- final T tmp = array[i];
- array[i] = array[index];
- array[index] = tmp;
- }
- }
- }
- private static <T> void print(final T[] array) {
- for (final T i : array)
- System.out.print(i + " ");
- System.out.println();
- }
- public static void main(final String[] args) {
- final Integer[] array = {7, 0, -4, 3, 1, -2, 5 };
- print(array);
- selectionSort(array, (t1, t2) -> t1 < t2);
- print(array);
- }
- }
Add Comment
Please, Sign In to add comment