js实现冒泡排序

来源:互联网 发布:投针法计算圆周率c语言 编辑:程序博客网 时间:2024/05/22 21:29
 var array = [65, 97, 76, 13, 27, 49, 58];    //循环控制趟数    var s = 0;    var s1 = 0;    //为什么 isSort = true,不能写在循环外面    //因为 交换位置 isSort = false.  isSort的值永远是false 。我们要检测的是某一趟是否交换位置    for (var i = 0; i < array.length - 1; i++) {        var isSort = true; //假设排序ok        //控制两两比较的次数       1--6      2--5   4 3 2 1        for (var j = 0; j < array.length - 1 - i; j++) {            //两两比较   从小到大排序            //如果交换位置,说明没有排序好,如果不交换位置,说明排序好            if (array[j] > array[j + 1]) {                isSort = false; //没有排序好呢                //交换位置                var tmp = array[j];                array[j] = array[j + 1];                array[j + 1] = tmp;            }            s++; //记录内循环的次数        }        s1++; //记录外循环的次数        if (isSort) {            //如果排序好了            break;        }    }    console.log("内循环的次数" + s);    console.log("外循环的次数" + s1);    console.log(array);
0 0
原创粉丝点击