package sorts; /** * SelectionSort.java * Created by Stijn Strickx on May 21, 2008 * Copyright 2008 Stijn Strickx, All rights reserved */ /** * Selection sort algorithm * Time Complexity: O(n*n) * Memory Complexity: O(1) * Stable: yes * Note: Other implementations of the selection sort algorithm might not be stable. */ public class SelectionSort extends Sorter{ @Override public <T extends Comparable<? super T>> void sort(T[] a) { for(int i = 0; i < a.length; i++){ int min = i; for(int j = i+1; j<a.length; j++) if(a[j].compareTo(a[min]) < 0) min = j; swap(a,min,i); } } }