js冒泡排序

**冒泡排序**
冒泡排序按照一定的遍历规则(从小到大、从大到小),对数据进行遍历,每一轮遍历结束会确定一个最大值或者最小值,在对剩下的数据再次进行重复操作,直到最后剩余一个元素。

let arr = [8,9,1,7,2,3,5,4,6,0]; 
for(let i = 0;i < arr.length;i++){
        for(let j = 0;j <arr.length-i;j++){
            if(arr[j]>arr[j+1]){
                let t = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = t;
            }
        }
    console.log([...arr])
 }

步骤详解:

这里的遍历规则是从小到大排列,每一轮确定一个最大值。数组长度为10

第一轮:

  i = 0   j最大为9 : 8和9对比,8<9,位置不变     [8,9,1,7,2,3,5,4,6,0]

           9和1对比,9>1,交换位置    [8,1,9,7,2,3,5,4,6,0]

          9和7对比,9>7,交换位置      [8,1,7,9,2,3,5,4,6,0]

          9和2对比,9>2,交换位置      [8,1,7,2,9,3,5,4,6,0]

          9和3对比,9>3,交换位置      [8,1,7,2,3,9,5,4,6,0]

          9和5对比,9>5,交换位置      [8,1,7,2,3,5,9,4,6,0]

          9和4对比,9>4,交换位置      [8,1,7,2,3,5,4,9,6,0]

          9和6对比,9>6,交换位置      [8,1,7,2,3,5,4,6,9,0]  

          9和0对比,9>0,交换位置      [8,1,7,2,3,5,4,6,0,9]

至此,第一轮结束得到最大值为9,确定最后一位位置。

第二轮:

  i=0  j最大为8    继续后续对比得到第二个最大数。依次遍历,最后j最大为0时,确定数组排序。

 

结果为:

 

posted @ 2022-08-11 10:18  奔跑的哈密瓜  阅读(162)  评论(0编辑  收藏  举报