冒泡排序

452 阅读1分钟

冒泡排序原理

冒牌排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
简单来说,冒泡排序就是把一系列的数据按照一定的顺序进行排列显示(从大到小或从小到大)
例如 我们将数组[5,4,3,2,1]中的元素按照从小到大的顺序排序,输出:1,2,3,4,5

冒泡排序数组案例

案例分析

1.一共需要的趟数,我们用外层for循环

5个数据我们一共需要走4趟
长度就是数组长度减去1:arr.length-1

2.每一趟交换次数,我们用里层for循环

第一趟交换4次
第二趟交换3次
第三趟交换2次
第四趟交换1次
长度就是数组长度减去次数
但是我们次数是从0开始的,所以最终arr.length-i-1 3.交换两个变量就好了

案例时间

    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 temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    console.log(arr);

上面这个代码实现的是从大到小的排列,只要if中的<换成>就可以实现从小到大的排列,快去试试吧!