这个while循环是如何工作的

时间:2013-11-05 16:50:10

标签: javascript html quicksort

function partition(num,begin,end){

    var pivot= num[begin];

    var beginning = begin-1 ;

    var ending = end+1 ;

    // over here the while loop says that the argument is true but,   
    // what is true, and how does this thing work  

    while (true) {

       beginning++;

        while ( beginning< end && num[beginning] < pivot)

            beginning++;

        ending--;

        while (ending>begin && num[ending] > pivot)

            ending--;

        if (beginning < ending)

            swap(num, beginning, ending);
        else

            return ending;
    }
function swap(num, begin, end) {

    var temp = num[begin];

    num[begin] = num[end];

    num[end] = temp;
}

函数分区中的while循环,它可以工作,但我想知道它是如何工作的以及代码的效率如何,谢谢

3 个答案:

答案 0 :(得分:1)

当您创建while循环时,放在括号中的位是表达式以进行评估。当您进入循环时,程序将检查括号中的表达式是否计算为true。如果是,则程序进入循环并运行直到它到达循环结束。

如您所见,breakreturn等语句可能会中断此问题。此循环旨在持续执行,直到达到return

评估为true的表达式示例:

1+1 == 2

x < 100,其中x为60

true,这就是你所拥有的。

答案 1 :(得分:0)

只要条件为真,while循环就会运行 while(true)如果没有在内部结束(break; return; etc),将会“永远”运行,导致它始终为真。因为while(false)甚至不会运行一次。

答案 2 :(得分:0)

while(评估条件的结果){

}

如果()之间的任何内容计算为true,则运行

。 所以,如果你键入while(true),那么它是真的。 如果你键入while(1 + 1 == 2),则为真,并且与上面所写的相同 如果你输入while(1 + 1!= 4)那么那也是真的,因为我们说的是真的,如果它不是=等等。