Возможна ли пузырьковая сортировка массива объектов? - PullRequest
0 голосов
/ 14 марта 2011

У меня есть массив объектов, заполненных .txt файлом

Object[] punteggiTutti = scores.toArray();

Даже если возможно использовать функцию .sort:

Arrays.sort(punteggiTutti, Collections.reverseOrder());

Я бы знал, как применить алгоритм работающей пузырьковой сортировки; Я попробовал следующий не рабочий код:

for(int i=0; i<j; i++) 
    {
    if(punteggiTutti[i]<punteggiTutti[i+1])  // error "<" operator cannot be used in objects 
      {
      temp=punteggiTutti[i]; 
      punteggiTutti[i]=punteggiTutti[i+1];
      punteggiTutti[i+1]=temp;
      }
    }

Ответы [ 2 ]

5 голосов
/ 14 марта 2011

Вы не можете сравнивать два объекта с оператором <.</p>

Используйте что-то, что реализует сопоставимый интерфейс.Затем такие элементы можно сравнить с помощью функции a.compareTo (b);

http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html

Также взгляните на: http://leepoint.net/notes-java/data/expressions/22compareobjects.html

Попробуйте прочитать о равенствена Яве.Это должно помочь вам с будущими ошибками при использовании Java.

0 голосов
/ 23 июля 2012

Создайте компаратор для вашего объекта, чтобы сравнить один объект с другим.Встроенный алгоритм mergeSort работает намного быстрее, чем пузырьковая сортировка.

http://www.iti.fh -flensburg.de / lang /gorithmen / sortieren / sortcontest / sortcontest.htm http://www.sorting -algorithms.com /

...