У меня есть вопрос по поводу моего кода, который использует метод разбиения Hoare.
Вот псевдокод: (пожалуйста, исправьте что-то, если оно неверно)
HOARE-PARTITION ( A, p, r)
1 x ← A[ p]
2 i ← p−1
3 j ← r +1
4 while TRUE
5 do repeat j ← j − 1
6 until A[ j ] ≤ x
7 do repeat i ← i + 1
8 until A[i] ≥ x
9 if i < j
10 then exchange A[i] ↔ A[ j ]
11 else return j
И мой код:
public class Hoare {
public static int partition(int a[],int p,int r) {
int x = a[p];
int i = p - 1;
int j = r + 1;
while (true) {
do
{
j = j - 1;
} while(a[j] >= x);
do
{
i = i + 1;
} while(a[i] <= x);
if (i < j) {
int t = a[i];
a[i] = a[j];
a[j] = t;
} else {
return j;
}
}
}
public static void main(String[]args) {
int a[] = {13, 19, 9, 5, 12, 8, 7, 4, 11, 2, 6, 21};
partition(a, 0, a.length-1);
}
}
И ошибка:
error: Class names, 'Hoare', are only accepted if annotation
processing is explicitly requested
1 error
Есть идеи относительно причины?