算法过程:
算法的过程很简单:
其时间复杂度的计算方式:
代码实现:
public class Test_SelectSort { public static void main(String[] args) { int a[] = {3,4,1,7,8,12,16,73,33,85,452,421,554,12,34,78,64,9,4,66,42}; SelectSort(a); for(int i=0;i<a.length-1;i++){ System.out.println(a[i]); } } public static void SelectSort(int[] a){ if(a.length==0||a.length<2){ return; } else{ for(int i=0;i<a.length-1;i++){ int MinIndex = i; for(int j=i;j<a.length-1;j++){ if(a[j]<a[MinIndex]){ MinIndex = j; } } if(MinIndex!=i){ Swap(a,i,MinIndex); } } } } public static void Swap(int[] a,int i,int MinIndex){ int temp; temp = a[i]; a[i] = a[MinIndex]; a[MinIndex] = temp; } }