Я получаю сообщение об ошибке в строке 21 "не могу найти метод символьных символов quickSort (int [], int, int), и я не уверен, почему это происходит.
import java.util.Random;
public class timeQuickSort {
public static void main(String[] args) {
int size = 16;
int max = 10;
int[] array = new int[size];
Random random = new Random();
random.nextInt(max);
for (int i = 0; i < size; i++) {
array[i] = random.nextInt(max);
}
long result;
long startTime = System.currentTimeMillis();
quickSort(array, 100, array.length-1);
long endTime = System.currentTimeMillis();
result = endTime-startTime;
System.out.println("The quick sort runtime is " + result + " miliseconds");
}
}
Это мой метод quickSort:
public static void quickSort(int[] a, int p, int r)
{
if (p < r)
{
int q = partition(a,p,r);
quickSort(a,p,q);
quickSort(a,q+1,r);
}
}
Если метод объявлен в другом классе, вам необходимо вызвать его, явно используя другое имя класса.
Итак, если вызывается другой класс, скажем, Sorter
, вам просто нужно позвонить
Sorter.quicksort(a, p, q);
Sorter.quicksort(a, q+1, r);
Укажите имя класса, чтобы вызвать статический метод, если он находится в другом классе, чем текущий класс. как:
class Sort{
public static void quickSort(int[] a, int p, int r)
{
if (p < r)
{
int q = partition(a,p,r);
quickSort(a,p,q);
quickSort(a,q+1,r);
}
}
}
и назовите его в своем классе следующим образом:
Sort.quickSort(array, 100, array.length-1);