JS冒泡排序

205 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情

【引言】 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,这也是JS面试的高频知识点。

动画演示

演示地址

实现原理

1.数组中相邻的两个值比较大小并交换位置;

2.比较相邻两个值的大小,如arr[索引]arr[索引+1]

3.定义一个中间变量,交换两个值的位置。

要求

随机定义一个数字数组,通过冒泡排序的方法将数组重新按照升序或降序排列;

实现步骤

1.定义一个数组:

let arr = [5,4,3,2,1,6];

2.循环遍历数组,定义中间变量交换值

for (let i = 1; i <= arr.length - 1; i++) {
   for (let j = 0; j <= arr.length - 1; j++) {
       //">"表示升序,"<"表示降序
       if (arr[j] > arr[j + 1]) {
           //定义一个中间变量
           let num = arr[j];
           //将第二个值赋值给第一个值
           arr[j] = arr[j + 1];
           //将第一个值赋值给第二个值
           arr[j + 1] = num;
       }
   }
}

3.打印数组

console.log(arr);

4.执行结果(升序)

image.png

【总结】JavaScript中的冒泡排序是JS中的一种基础算法,在面试的过程中通常被要求解释冒泡排序的原理以及实现步骤,本篇文章主要是从冒泡排序的实现原理,实现步骤进行了说明,希望能给大家带来帮助。

【往期分享】