如何用一个循环排序

function fun2(Array, len){
    let i = 0;
    let temp = 0;
    while (i<len){
        temp++;
        if (i==0||Array[i-1] < Array[i]){
            i += temp;
            temp = 0;
        }else{
            let tempdata = Array[i];
            Array[i] = Array[i - 1];
            Array[i - 1] = tempdata;
            i--;
        }
    }
    return Array
}

 和传统想象中的循环不同,这个循环不仅可以自增循环,还可以自减循环。

当前值小于后值时,顺序往“后”执行,当前值大于后值时,依次往“前”交换位置,直到这个前值正好大于它所处位置的前一个值,小于它所处位置的后一个值。

猜你喜欢

转载自blog.csdn.net/rrrrroy_Ha/article/details/120917132