数组排序

Mr.Song2020年8月7日
大约 1 分钟

1.使用sort()对数组排序

let arr=[11,45,2,32,89,0];
arr.sort(function(a,b){
    return a-b;
})

console.log(arr);

2. reverse()逆序

let arr=[11,45,2,32,89,0];

arr.reverse(arr);

console.log(arr);

3.冒泡排序

概念:数组中相邻元素两两比较,如果第一个元素大于第二元素,交换第一个元素和第二个元素的位置,第一轮比较结束,能确定一个最大值,然后进行第二轮…

let arr=[11,45,2,32,89,0];
for(let i=1;i<arr.length;i++){     //第一轮循环表示循环的轮数
  for(let j=0;j<arr.length-i;j++){  //这轮的for循环指的是每次循环的次数
      if(arr[j]>arr[j+1]){
          let temp=arr[j];
          arr[j]=arr[j+1];
          arr[j+1]=temp;
      }
  }
}
console.log(arr);

4.选择排序

概念:

先假定数组中的第一个元素为最小值,对应的索引为minIndex,让该值与剩余元素比较,如果有比该值小的,改变minIndex的指向,让其指向较小的值的索引,让minIndex对应的值和剩下的值进行比较
第一轮比较完成之后,我们能确定最小值对应的minIndex,然后让其与第一个元素进行交换
假定数组中的第二个元素为最小值,以此类推…

let arr=[11,45,2,32,89,0];
for(let i=0;i<arr.length-1;i++){
  let minIndex=i;
  for(let j=i+1;j<arr.length;j++){
      if(arr[minIndex]>arr[j]){
          minIndex=j;
      }
  }z

  let temp=arr[i];
  arr[i]=arr[minIndex];
  arr[minIndex]=temp;
}

console.log(arr);
评论
Powered by Waline v2.6.2