JavaScript
function selectSort(ary) { var i, j, k, temp; var len = ary.length; for(i=0; i<len; i++) { k = i; // 找出最小的元素索引 for(j=i+1; j<len; j++) { if(ary[k] > ary[j]) { k = j; } } temp = ary[i]; ary[i] = ary[k]; ary[k] = temp; } return ary; } // var ary = [5,4,3,2,1]; // console.log(selectSort(ary));
Java
public class Test { public static void selectSort(int[] ary) { int i, j, k, temp; int len = ary.length; for(i=0; i<len; i++) { k = i; for(j=i+1; j<len; j++) { if(ary[k] > ary[j]) { k = j; } } temp = ary[i]; ary[i] = ary[k]; ary[k] = temp; } } public static void main(String[] args) { int[] ary = {5,4,3,2,1}; Test.selectSort(ary); for(int it : ary) { System.out.println(it); } } }
C
void selectSort(int ary[], int len) { int i, j, k, temp; for(i=0; i<len; i++) { k = i; // 找出最小的元素索引 for(j=i+1; j<len; j++) { if(ary[k] > ary[j]) { k = j; } } temp = ary[i]; ary[i] = ary[k]; ary[k] = temp; } } main() { int i; int ary[] = {5,4,3,2,1}; selectSort(ary, 5); for(i=0; i<5; i++) { printf("%d", ary[i]); } }