Я должен выполнить алгоритм быстрой сортировки в java для сортировки массива {50, 20, 65, 30, 75, 25, 90}. Вот то, что я до сих пор:Quicksort в Java
public class QuickSort {
public static int partition(int arrayName[], int down, int up){
int i = down, j = up;
int temp;
int pivot = arrayName[(down + up)/2];
while (i <= j){
while (arrayName[i] < pivot)
i++;
while (arrayName[j] > pivot)
j--;
if (i <= j){
temp = arrayName[i];
arrayName[i] = arrayName[j];
arrayName[j] = temp;
i++;
j--;
}
}
return i;
}
public static void main(String[] args) {
int [] arrayName = {50, 20, 65, 30, 75, 25, 90};
System.out.println(partition(arrayName, down, up));
}
}
Я получаю сообщение об ошибке в операторе печати (кажется, есть много проблем с этим), что говорит вниз и вверх не могут быть решены с переменными. Как я могу его исправить, чтобы успешно распечатать отсортированный список?
Какая ошибка? –
вы получаете ошибку на этой строке, потому что переменные «вниз» и «вверх» не определены в статической области класса. Они определяются только в рамках метода «раздела». Вам нужно будет передать фактические значения в метод или определить локальные переменные в «основном» методе «вниз» и «вверх». – ggreiner
** Первое, что нужно сделать, чтобы ваши пальцы после ввода «Я получаю сообщение об ошибке» или «Я получаю исключение» - это начать вводить ** точное сообщение об ошибке **, которое вы получаете, а также любую другую информацию например номера строк или адреса памяти. Если вы этого не сделаете, это значительно усложнит ситуацию, когда другие обнаружат ошибку в вашем коде, и усложнение для нас затрудняет вам получение вашего ответа. Пожалуйста, помните, что мы не можем видеть ваш экран или читать ваш ум отсюда; это намного проще, если вы предоставите нам информацию. :) –