0


JavaScript-冒泡排序

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来

1.第一层 for循环的含义(主外)

首先我们要确定 一共需要交换多少趟 ,我们通常最外层的for循环来用于执行交换的趟数;

例如:一个数组长度为七,届时需要交换六趟

核心算法为:arr.length-1;

2.第二层 for循环的含义(主内)

第二层for循环主要是用来控制每次交换的次数;

其主要的核心算法是 arr.length-i-1;

因为是从零开始的 所以要减去

    1. 此时数组的索引为 0 第一趟交换 6
    1. 1 第二趟交换 5
    1. 2 第三趟交换 5
    1. 3 第四趟交换 4
    1. 4 第五趟交换 3
    1. 5 第六趟交换 2

3.交换两个变量的值

前一个和后一个数组的元素相比较

判断数组里面的元素大小,先声明一个变量用于接收,如果数组里面第J个元素大于数组里面第J+1个元素,将进行交换

步骤:1.先把数组里面的第一个元素(arr[ j ])给到声明的空变量max; ** max = arr[ j ]**

  1. 2.再把第二个元素(**arr[ j + 1]** )给到第一个变量(**arr[ j ]**);
  2. 3.**arr[ j + 1]** = **max;**
  1. <script>
  2. var arr = [1, 9, 8, 65, 4563, 45, 2];
  3. //1.控制趟数算法 数组的长度 - 1 arr.length-1
  4. for (var i = 0; i < arr.length - 1; i++) {
  5. //2.控制每次交换的次数 算法 数组的长度-趟数-1 arr.length-i-1
  6. for (var j = 0; j < arr.length - i - 1; j++) {
  7. // 3.交换变量
  8. var max ;
  9. if(arr[j]>arr[j+1]){
  10. max = arr[j];
  11. arr[j] = arr[j+1]
  12. arr[j+1] = max
  13. }
  14. }
  15. }
  16. console.log(arr);
  17. </script>
  1. ![](https://img-blog.csdnimg.cn/a185da53289f4b6a8a437667b0313d40.png)

本文转载自: https://blog.csdn.net/qq_52499703/article/details/125791297
版权归原作者 ncj0612 所有, 如有侵权,请联系我们删除。

“JavaScript-冒泡排序”的评论:

还没有评论