您的位置:首页 > Web前端

[前端] js实现正顺排列

2015-06-01 15:26 288 查看
首先提供一个乱序数组:

var arr = [5, 2, 4, 6, 1, 7, 9];


然后实现一个转换函数:

function swap(myArray, p1, p2){
   var temp = myArray[p1];
    myArray[p1] = myArray[p2];
    myArray[p2] = temp;
}


最后实现主函数:

function selectionSort(myArray){

    var len = myArray.length,
        min;

    for (i=0; i < len; i++){

        // 将当前位置设为最小值
        min = i;

        // 检查数组其余部分是否更小
        for (j=i+1; j < len; j++){
            if (myArray[j] < myArray[min]){
                min = j;
            }
        }

        // 如果当前位置不是最小值,将其换为最小值
        if (i != min){
            swap(myArray, i, min);
        }
    }

    return myArray;
}


打印输出:

console.log(selectionSort(arr));// [1, 2, 4, 5, 6, 7, 9]


谢谢关注!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: