选择排序

  1. //选择排序:效率比冒泡排序高
  2. var arr = [28,43,32,12,10,98];
  3. function box(arr){
  4. if(arr.length < 2){
  5. return arr;
  6. }
  7. var temp = 0;
  8. for(var i = 0; i < arr.length - 1; i++){
  9. var index = i; //当一下js循环结束后,index保存将是这一轮中最小元素的下标
  10. for(var j = i + 1; j < arr.length; j++){
  11. if(arr[index] > arr[j]){
  12. index = j;
  13. }
  14. }
  15. // 把这一轮的第一个元素和最小下标index的这个元素交换
  16. if(index > i){
  17. temp = arr[i];
  18. arr[i] = arr[index];
  19. arr[index] = temp;
  20. // 这里是交换顺序,小的在前面,大的数字放后面
  21. }
  22. }
  23. return arr;
  24. }
  25. console.log(box(arr));