21xrx.com
2024-09-17 04:28:53 Tuesday
登录
文章检索 我的文章 写文章
JS实现冒泡排序算法
2023-06-08 14:19:55 深夜i     --     --
JS 排序算法 冒泡排序

实现原理:

冒泡排序是一种基础的排序算法,其思路是将未排序的数列从第一个数开始逐一比较、交换,直到最后一个数,这样一趟比较下来,最大的数就被交换到了数列的最后一个位置。然后再从第一个数开始重复这个过程,直到全部排序完成。

代码实现:

function bubbleSort(arr) {

 var len = arr.length;

 for (let i = 0; i < len - 1; i++) {

   for (let j = 0; j < len - 1 - i; j++) {

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

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

     }

   }

 }

 return arr;

}

代码解释:

定义一个 bubbleSort 函数,传入一个需要排序的数组 arr。

获取数组的长度 len。

使用两个 for 循环嵌套,外层循环控制排序的趟数,内层循环控制每一趟比较的次数。

内层循环中通过判断当前位置的数与下一位的大小,决定是否进行交换。

如果当前位置的数大于下一位的数,就交换这两个数的位置。

当内层循环结束后,一趟排序就完成了。

外层循环控制排序的趟数,每一趟排序就可以将未排序部分的最大值放到数组的最后面。

当外层循环结束后,数组就已经完成了排序,返回排序后的数组。

总结:

冒泡排序虽然效率不高,但是其思路和实现比较简单,是一个经典的排序算法。通过这个例子,可以更好地理解冒泡排序的实现原理,并且加深对于 JS 的语法和数组操作的理解。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复