js 实现冒泡排序和选择排序

冒泡排序

通俗来讲,冒泡排序就是:(若从大到小排)
我们随便定义一个数组 [45, 4, -3, 8, 22, 1],
这些数在数组里的位置分别是 0 1 2 3 4 5

首先 0 位置和 1 位置比,将小的放在 1 位置 ;
1 位置和 2 位置比,将小的放在 2 位置;
依次类推,最后最小的在最后面;

然后再将0 位置和 1 位置比,将小的放在 1 位置 ;
1 位置和 2 位置比,将小的放在 2 位置;
这样到最后,第二小的在倒数第二的位置;

以此类推,完成冒泡排序。
我用 js 来实现:

const arr = [45, 4, -3, 8, 22, 1];
        for (let i = 0; i < arr.length; i++){
            for (let j = 0; j < arr.length-i-1; j++){
                 if(arr[j] < arr[j+1]){
                    let temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }           
        }
        console.log(arr);

结果如下:
在这里插入图片描述

选择排序

通俗来讲,选择排序就是:(若从大到小排)
我们随便定义一个数组 [45, 4, -3, 8, 22, 1],
这些数在数组里的位置分别是 0 1 2 3 4 5

首先 0 位置和 1 位置比,将大的放在 0 位置 ;
0 位置和 2 位置比,将大的放在 0 位置;
依次类推,最后最大的在最前面;

然后再将 1 位置和 2 位置比,将大的放在 1 位置 ;
1 位置和 3 位置比,将大的放在 1 位置;
这样到最后,第二大的在第二的位置;

以此类推,完成选择排序。
我用 js 来实现:

const arr = [45, 4, -3, 8, 22, 1];
        for (let i = 0; i < arr.length-1; i++){
            for (let j = i + 1; j < arr.length; j++){
                 if(arr[i] < arr[j]){
                    let temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }           
        }
        console.log(arr);

结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Web_blingbling/article/details/107608635
今日推荐