选择排序

72 阅读1分钟

利用双重for循环完成选择排序;

1.原理,构建双重for循环,设立外层循环变量为数组中最小值的索引下标,并假设当前最小数值是索引下标0对应的数值,进入内层循环多项比较交换真是最小值及索引下标0所对应值;

例子:

var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7];
for(var k =0;k<arr.length;k++){
    var minIndex=k; //优先假设当前最小数值为索引下标0的项
    for(var i =k+1;i<arr.length;i++){
        if(arr[minIndex]>arr[i]){
            minIndex=i;
        }
    }
    //交换 真是的最小值与下标0所对应的值
    var temp = arr[k];
    arr[k] =arr[minIndex];
    arr[minIndex]=temp
}
  console.log('选择排序结束后的 arr: ', arr);