我在东北烤地瓜

I am kaodigua I am chirourou I am qiaodaima

导航

排序

正视一下我的知识盲区,不定期补充

冒泡排序

原理,从第一个元素开始,把当前元素和下一个索引元素进行比较。如果当前元素大,那么就交换位置,重复操作直到比较到最后一个元素

 

function bubble(array) {
  checkArray(array);
  for (let i = array.length - 1; i > 0; i--) {
    // 从 0 到 `length - 1` 遍历
    for (let j = 0; j < i; j++) {
      if (array[j] > array[j + 1]) swap(array, j, j + 1)
    }
  }
  return array;
}

 

插入排序

原理,第一个元素默认是已排序元素,取出下一个元素和当前元素比较,如果当前元素大就交换位置。

 

function insertion(array) {
  checkArray(array);
  for (let i = 1; i < array.length; i++) {
    for (let j = i - 1; j >= 0 && array[j] > array[j + 1]; j--)
      swap(array, j, j + 1);
  }
  return array;
}

 

posted on 2020-07-24 08:40  我在东北烤地瓜  阅读(79)  评论(0编辑  收藏  举报