该算法时间复杂度为O(n^2),空间复杂度为O(1) ;
//选择排序(前部为有序序列,后部为无序序列) #include<stdio.h> int main() { int a[] = {49,38,65,49,76,13,27,52} ; int i , j , k ; for(i = 0 ; i < 8 ; i++) { j = i ; for(k = i + 1 ; k < 8 ; k++) if(a[j]>a[k]) j = k ; if(i!=j) { int t = a[i] ; a[i] = a[j] ; a[j] = t ; } for(j = 0 ; j < 8 ;j++) printf("%d ",a[j]) ; printf(" ") ; } printf(" ") ; for(i = 0 ; i < 8 ;i++) printf("%d ",a[i]) ; printf(" ") ; return 0 ; }