我想明白這個方法的確切功能,它假設它是 「保持交換最錯誤定位的對」。我把這個變成一個程序 和嘗試不同的陣列,但結果毫無意義對我來說,這究竟做分區方法
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代碼。 –