JavaScript算法-插入排序

  • 插入排序
  • 插入排序有两个循环,外循环将数组元素挨个移动,而内循环则对外循环中选中的元素及它后面的那个元素进行比较。如果外循环中选中的元素比内循环中选中的元素小,那么数组会向右移动,为内循环中的这个元素腾出位置。

插入排序 - 图1

  1. function insertionSort() {
  2. var temp,inner;
  3. for (var outer = 1; outer <= this.dataStore.length - 1 ; ++outer) {
  4. temp = this.dataStore[outer];
  5. inner = outer;
  6. while (inner>0 &&(this.dataStore[inner-1] >= temp)) {
  7. this.dataStore[inner] = this.dataStore[inner - 1];
  8. --inner;
  9. }
  10. this.dataStore[inner] = temp;
  11. }
  12. }