冒泡排序算法基本思路

  • Post author:
  • Post category:其他



冒泡排序

一、冒泡排序算法基本思想

将第一个元素和第二个元素进行比较,若为逆序则将两个元素交换,然后比较第二个元素和第三个元素。依次类推,直至第 n-1个元素和第 n个元素进行比较为止。上述过程称为第一趟冒泡排序,其结果使最大值元素被放置在最后一个位置(第 n个位置)。然后进行第二趟冒泡排序,对前 n-1个元素进行同样操作,其结果是使第二大元素被放置在倒数第二个位置上(第 n-1个位置)。

var arr=[5,76,-8,23,-15,88,47];

for(var i=0;i<arr.length;i++){

//第一个for循环,走几遍,减1因为最后一个元素没有必要再比较了

for(var j=0;j<arr.length-i-1;j++){

//第二个for循环,减i每一次把最大值放在数组末尾,所以没必要再比较

//减1防止越界

if(arr[j]>arr[j+1]){

var temp = arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}


代码:

<!DOCTYPE html>

<html lang="en">



<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>



<body>



</body>

<script>

    var arr = [5, 76, -8, 23, -15, 88, 47];

    for (var i = 0; i < arr.length; 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);

</script>



</html>

运行结果:



版权声明:本文为weixin_52993364原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。