js实现冒泡排序

function bubble_sort1(arr){
    var flag = true;
    for(var i = 0; i < arr.length && flag; i++){
        flag = false;
        console.log(arr);
        for(var j = 1; j < arr.length - i; j++){
            if(arr[j] < arr[j - 1]){
                swap(arr, j - 1, j);
                flag = true;
            }
        }
    }
}

function bubble_sort(arr){
    var flag = true;
    for(var i = arr.length - 1; i >= 0 && flag; i--){
        flag = false;
        console.log(arr);
        for(var j = arr.length - 1; j > arr.length - i; j--){
            if(arr[j] < arr[j - 1]){
                swap(arr, j , j -1);
                flag = true;
            }
        }
    }
}

function swap(arr, i, j){
    var tmp = arr[i];
    arr[i] = arr[j];
    arr[j] = tmp;
}

var arr = [1, 99, 23, 88, 56, 77, 3];
bubble_sort(arr);
console.log(arr);

 冒泡排序又名交换排序其排序的思路是对相邻的两个元素进行比较。

posted @ 2016-02-21 10:37  天空中的蜂蜂  阅读(218)  评论(0编辑  收藏  举报