-2
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循环,它可以工作,但我想知道它是如何工作的以及代码的效率如何,谢谢

4

3 回答 3

1

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

正如您在此处看到的,这可以被一些语句(如breakor )打断。return此循环旨在连续执行,直到到达return.

计算结果为 的表达式示例true

1+1 == 2

x < 100, 哪里x是 60

true,这就是你所拥有的。

于 2013-11-05T16:59:04.020 回答
0

只要条件为真,while 循环就会运行。
while(true) 如果未在内部结束(中断;返回;等),则将“永远”运行,因为它始终为真。因为 while(false) 甚至不会运行一次。

于 2013-11-05T16:58:29.560 回答
0

而(评估条件的结果){

}

如果 ( ) 之间的任何值计算为 true,则运行 while。所以,如果你输入 while(true) ,那么它是真的。如果您键入 while (1+1==2),则为 true,并且与上面写的相同如果您键入 while(1+1 != 4),那么这也是 true,因为我们说它是 true,如果不是= 等。

于 2013-11-05T17:00:25.193 回答