我想明白这个方法的确切功能,它假设它是 “保持交换最错误定位的对”。我把这个变成一个程序 和尝试不同的阵列,但结果毫无意义对我来说,这究竟做分区方法
partition(A, p)
A: array of size n, p: integer s.t. 0 <= p < n
1. swap(A[0],A[p])
2. i <- 1, j <- n − 1
3. while i < j do
4. while A[i] <= A[0] and i < n do
5. i <- i + 1
6. while A[j] > A[0] and j > 0 do
7. j <- j − 1
8. if i < j then
9. swap(A[i], A[j])
10. swap(A[0], A[j])
11. return j
对于初学者来说,它不会编译。 –
Shellscriptbeginner:你确定它是用Java编写的吗? –
这绝对不是Java代码。 –