0
Я работаю над mergeSort с сопоставимыми arraylists. У меня есть тезисы ошибок: - Ошибка синтаксиса, вставить «... VariableDeclaratorId» для завершения FormalParameterList - Точка останова метода: Сортировка [entry] - mergesort() Вот мой код, что мне делать?Проблемы с MergeSort: «... VariableDeclaratorId» для завершения FormalParameterList
import java.util.ArrayList;
import java.util.List;
public class Sorts
{
public ArrayList<Comparable> yay = new ArrayList<Comparable>();
public ArrayList<Comparable> helper = new ArrayList<Comparable>();
public Sorts()
{
}
private void mergesort(List<Comparable> yay, int low, int high)
{
if (low < high)
{
int middle = low + (high - low)/2;
mergesort(yay, low, middle);
mergesort(yay, middle + 1, high);
merge(low, middle, high);
}
}
private void merge(int low, int middle, int high)
{
for (int i = low; i <= high; i++)
{
helper.set(i,yay.get(i)) ;
}
int i = low;
int j = middle + 1;
int k = low;
while (i <= middle && j <= high)
{
if (helper.get(i).compareTo(helper.get(j))<=0)
{
yay.set(k, helper.get(i));
i++;
}
else
{
yay.set(k, helper.get(j));
j++;
}
k++;
}
while (i <= middle)
{
yay.set(k, helper.get(i));
k++;
i++;
}
}
public static void main(String[] args)
{
ArrayList<Comparable> bla = new ArrayList<Comparable>();
bla.add(2);
bla.add(4);
bla.add(3);
bla.add(1);
Sorts test = new Sorts();
System.out.println(bla);
test.mergesort(bla, 0, 0);
System.out.println("Sorted:");
for(int i=0; i< bla.size();i++)
{
System.out.println(bla.get(i));
}
}
}
BTW, низкий и высокий не инициализируются. основанные на рекурсивных вызовах, похоже, что они должны быть параметрами – DBug
Итак, я бы поставил yay как свое «имя»? – user5344755
не уверен, что вы спрашиваете – DBug