【JavaScript】使用js实现冒泡排序

冒泡排序:
1、比较相邻的两个元素,如果前一个比后一个大,则交换位置。
2、比较完第一轮的时候,最后一个元素是最大的元素。
3、这时候最后一个元素是最大的,所以最后一个元素就不需要参与比较大小。
3、依次类推,每轮冒泡都能得到一个最大值。

代码实现如下:

function bubbleSort(arr) {
  var len = arr.length;
  //外层控制循环多少趟,即需要冒泡几次
  for (var i = 0; i < len-1; i++) {
    //内层控制每一趟的比较的次数
    for (var j = 0; j < len - 1 - i; j++) {
         // 相邻元素两两对比,元素交换,大的元素交换到后面
        if (arr[j] > arr[j + 1]) {
            var temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
        }
    }
  }
  return arr;
}
//举个数组
var arr = [20,8,17,10,1];
//使用函数
bubbleSort(arr)

冒泡排序过程如下:
【JavaScript】使用js实现冒泡排序_第1张图片

你可能感兴趣的:(JavaScript,前端,排序算法,算法,数据结构)