JavaScript算法-选择排序

  • 选择排序
  • 选择排序从数组的开头开始,将第一个元素和其他元素进行比较。检查完所有元素后,最小的元素会被放到数组的第一个位置,然后算法会从第二个位置继续。这个过程一直进行,当进行到数组的倒数第二个位置时,所有的数据便完成了排序。
  • 选择排序会用到嵌套循环。外循环从数组的第一个元素一定到倒数第二个元素;内循环从第二个数组元素移动到最后一个元素,查找比当前外循环

选择排序 - 图1

  1. function selectionSort() {
  2. var min,temp;
  3. for (var outer = 0; outer <= this.dataStore.length-2; ++outer){//循环
  4. min = outer;//定义第一个为最小
  5. for (var inner = outer + 1; i <this.dataStore.length-1; ++inner) {
  6. //查找下一个中
  7. if (this.dataStore[inner]<this.dataStore[min]){
  8. //如果数组内的第inner项小于最小项
  9. min = inner;//最小项设置为inner
  10. }
  11. swap(this.dataStore,outer,min);//交换最小值和outer
  12. }
  13. }
  14. }
  15. //找到数组中剩余的最小值,如果更小outer进行交换