数组排序

201 阅读1分钟

冒泡排序

function bubbleSort(arr) {
    for (var i = 0; i < arr.length - 1; i++) {
        for (var j = 0; j < arr.length - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                var tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
}

选择排序

function changeSort(arr) {
    for (var i = 0; i < arr.length - 1; i++) {
        for (var j = i + 1; j < arr.length; j++) {
            if (arr[i] > arr[j]) {
                var tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
        }
    }
}

快速排序

function quickSort(arr){
    if(arr.length <= 1){
        return arr;
    }
    var left = [];
    var right = [];
    var index = parseInt(arr.length / 2);
    var item = arr.splice(index, 1);
    for(var i = 0; i < arr.length; i++){
        if(arr[i] > item){
            right.push(arr[i]);
        }else{
            left.push(arr[i]);
        }
    }
    var arr1 = quickSort(left).concat(item, quickSort(right));
    return arr1;
}