javascript冒泡排序

70 阅读2分钟

实战演练2——冒泡排序

一、冒泡排序:

冒泡排序是一种简单的排序算法。 它重复地走访过要排序的数列,一次比较相邻两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重 复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 比如数组[2,3,1,4,5]经过排序成为了[1,2,3,4,5]或者[5,4,3,2,1]

二、代码原理(需要放在head中的script中):

1.排序

 /* 冒泡排序 */
        /* 1.定义一个数组 */
        let arr = [2,4,3,5,1]
        /* 2.外层循环控制比较的轮数 */
        for(let i = 0;i < arr.length - 1;i++){
            /* 3.内层循环控制每一轮比较的次数 */
            for(let j = 0;j < arr.length - 1 - i;j++){
                /* 4.如果前面的数比后面的数大,就交换位置 */
                if(arr[j] >= arr[j + 1]){
                    let temp = arr[j]
                    arr[j] = arr[j + 1]
                    arr[j + 1] = temp  
                }  
            }  
        }
          console.log(arr);

解释: (1)在 JavaScript 中,let 是用于声明变量的关键字 (2)n个元素需要外层需要循环n-1次 (3) console.log(arr) 是 JavaScript 中用于在浏览器控制台打印数组内容的语句。 基本用法:a.试代码:查看变量值是否符合预期 在浏览器中按 F12 或 Ctrl+Shift+I 打开开发者工具,选择 Console 面板查看输出;

1. 打印数组
javascript
const arr = [10, 20, 30];
console.log(arr); // 输出: [10, 20, 30]2. 打印数组元素
javascript
console.log(arr[0]); // 输出: 10
console.log(arr.length); // 输出: 3

三、成品

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>冒泡排序</title>
</head>
<body>
    <script>
        /* 冒泡排序 */
        /* 1.定义一个数组 */
        let arr = [2,4,3,5,1]
        /* 2.外层循环控制比较的轮数 */
        for(let i = 0;i < arr.length - 1;i++){
            /* 3.内层循环控制每一轮比较的次数 */
            for(let j = 0;j < arr.length - 1 - i;j++){
                /* 4.如果前面的数比后面的数大,就交换位置 */
                if(arr[j] >= arr[j + 1]){
                    let temp = arr[j]
                    arr[j] = arr[j + 1]
                    arr[j + 1] = temp  
                }  
            }  
        }
        console.log(arr);
    </script>
</body>
</html>

image-20250511165208294.png

四、拓展——开发中的冒泡排序:

(一)语法:

sort()

(二)降序与升序:

1 et arr=[4,2,5,1,3]
/1.升序排列写法
arr.sort(function (a,b){
return a - b
}
conso1e.1og(arr)/[1,2,3,4,5]
1降序排列写法
arr.sort(function (a,b){
return b - a
}
conso1e.1og(arr)//[5,4,3,2,1]

(三)代码:

 <script>
        /* 冒泡排序 */
        /* 1.定义一个数组 */
        let arr = [2,4,3,5,1]
        /* 2.外层循环控制比较的轮数 */
        console.log(arr);
    </script>