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循环,它可以工作,但我想知道它是如何工作的以及代码的效率如何,谢谢
答案 0 :(得分:1)
当您创建while
循环时,放在括号中的位是表达式以进行评估。当您进入循环时,程序将检查括号中的表达式是否计算为true
。如果是,则程序进入循环并运行直到它到达循环结束。
如您所见,break
或return
等语句可能会中断此问题。此循环旨在持续执行,直到达到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)那么那也是真的,因为我们说的是真的,如果它不是=等等。