研究while 和 for 在选择排序下执行效率
`
    var arr = [];
    var i = 0;
    while (i < 5000) {
        arr[i] = (Math.random()).toFixed(2)
        i++
    };        
    var Date1 = (new Date).getTime();
    console.log(Date1);
    for (let i = 0; i < arr.length; i++) { //5000个数据大概20毫秒
        let key = arr[i];
        let index = i;
        let j = i;
        while (j < arr.length) {
            if (key > arr[j]) {
                key = arr[j];
                index = j;
            }
            j++;
        }
        arr[index] = arr[i];
        arr[i] = key;
    }
    var Date2 = (new Date).getTime()
    console.log(Date2 - Date1);
    for (let i = 0; i < arr.length; i++) { //5000个数据大概260毫秒
        for (let j = 0; j < arr.length - i; j++) {
            if (arr[j] > arr[j + 1]) {
                let temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    var Date3 = (new Date).getTime()
    console.log(Date3 - Date2);
`

结论:while循环只需要for ++ 循环的3分之二的时间
                    
                
                
            
        
浙公网安备 33010602011771号