while用法?

奥数题 2011-08-02 04:21:25
今天在看快速排序算法时,看到一个例子:

while (true)
{
while (numbers[++i] < middle && i < right);
while (numbers[--j] > middle && j > 0) ;
if (i >= j) break;
Swap(numbers, i, j);
}


请问下面二个while 是怎么意思??
...全文
131 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
neweek 2011-08-02
  • 打赏
  • 举报
回复
while (true)
{
while (numbers[++i] < middle && i < right);
{while (numbers[--j] > middle && j > 0) ;
if (i >= j) break;
Swap(numbers, i, j);
}
}
Avoid 2011-08-02
  • 打赏
  • 举报
回复
从j开始向前搜索,即由后开始向前搜索(j=j-1),找到第一个小于key的值numbers[j],并与numbers[i]交换;
奥数题 2011-08-02
  • 打赏
  • 举报
回复
谢谢。知道了。
threenewbee 2011-08-02
  • 打赏
  • 举报
回复
while (条件)
执行语句;

如果空循环,那么就直接加上分号。

写成

while (...)
{

}

或者
while (...)
;

比较好

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧