Я работал над этим последние 5 часов. по какой-то причине я не получаю результат, который ищу. Предполагается, что метод сортирует Arraylist элементов по количеству с помощью пузырьковой сортировки. Не уверен, что я делаю ошибку, но, похоже, сортирует только первые несколько элементов и просто перечисляет остальные, как они есть, а не по порядку.
Вот код
public static void bubblesrt(ArrayList<Drinks> list)
{
Drink temp;
if (list.size()>1) // check if the number of orders is larger than 1
{
for (int x=0; x<list.size(); x++) // bubble sort outer loop
{
for (int i=0; i < list.size()-i; i++) {
if (list.get(i).compareTo(list.get(i+1)) > 0)
{
temp = list.get(i);
list.set(i,list.get(i+1) );
list.set(i+1, temp);
}
}
}
}
}
и это метод compareTo (), который находится в классе Drinks
public int compareTo(Drinks z)
{
int res=0;
if (quantity < z.quantity) {res=-1; }
if (quantity > z.quantity){res=1;}
return res;
}
Сейчас я так устала, что готова отказаться от этого. Любая помощь будет оценена. Заранее спасибо.