作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力将霍尔分区实现为快速排序。我试图完全理解霍尔分区,但这本书并没有解释一切。主要是我只是想知道 while TRUE 部分是什么意思?该书的摘录如下。如果我将 while 部分放入 java 中,我会使用什么以及为什么?
Hoare-Partition(A,p,r)
x= A[p]
i = p-1
j=r+1
while true
repeat
j=j-1
until A [j] <= x
repeat
i = i +1
until A[i] >= x
if i < l
exchange A[i] with A[j]
else return j
最佳答案
尝试使用上面的算法编写此代码:
int HoarePartition (int a[],int p, int r)
{
int x=a[p],i=p-1,j=r+1;
while (true)
{
while (a[j] <= x) j--;
while (a[i] >= x) i++;
if (i < j) swap(a[i],a[j]);
else return j;
}
}
关于java - java中霍尔分区的正确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15127540/
我是一名优秀的程序员,十分优秀!