直接选择排序

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]);
	}
	
}
 

 

你可能感兴趣的:(选择排序)