直接插入排序

JavaScript

function insertSort(ary) {
    var i, j, len = ary.length;
    var temp;
    
    for(i=1; i<len; i++) {
        temp = ary[i];
        for(j=i; j>0 && temp<ary[j-1]; j--) {
            ary[j] = ary[j-1];
        }
        ary[j] = temp;
    }
    
    return ary;
}
var ary = [5,4,3,2,1];
console.log(insertSort(ary));

 

Java

public class Test {

	public static void insertSort(int[] ary){
		int i, j, temp;
		int len = ary.length;
		
		for(i=1; i<len; i++) {
			temp = ary[i];
			for(j=i; j>0 && temp<ary[j-1]; j--) {
				ary[j] = ary[j-1];
			}
			ary[j] = temp;
		}
	}
	public static void main(String[] args) {
		int[] ary = {5,4,3,2,1};
		Test.insertSort(ary);
		for(int it : ary) {
			System.out.println(it);
		}

	}	
}

 

C

#include <stdio.h>

void insertSort(int ary[], int len) {
	int i, j, temp;
	for(i=1; i<len; i++) {
		temp = ary[i];
		for(j=i; j>0 && temp<ary[j-1]; j--) {
			ary[j] = ary[j-1];
		}
		ary[j] = temp;
	}
}

main() {
	int i;
	int ary[]  = {5,4,3,2,1};
	insertSort(ary, 5);
	for(i=0; i<5; i++) {
		printf("%d", ary[i]);
	}
	
}
 

你可能感兴趣的:(插入排序)