Мне нужно адаптировать выбор для школы. Цель состоит в том, чтобы вернуть ранжирование игроков с победителями, пришедшими на первое место, и т. Д. Игроки с равным рейтингом должны быть указаны в том же порядке, что и в списке турниров.Сортировка сортировки с arraylists?
public ArrayList<Player> ranking() {
ArrayList<Player> result = new ArrayList<Player>();
// Supply this code!
return result;
Теперь Heres моя попытка адаптировать выбор рода
int smallInt = 0;
int j=0;
int smallIntIndex = 0;
for(int i=1;i<players.size();i++){
smallInt = result.get(i-1).totalScore();
smallIntIndex = i-1;
for(j=i;j<players.size();j++){
if(result.get(j).totalScore()<smallInt){
smallInt = result.get(j).totalScore();
smallIntIndex = j;
}
}
int temp = result.get(smallIntIndex).totalScore();
result.set(smallIntIndex, result.get(i-1));
result.set(i-1, temp);
}
return result;
И единственная линия, которая дает мне ошибку в самый последний
result.set(i-1, temp); //The method set(int, Player) in the type
//ArrayList<Player> is not applicable for the arguments (int, int)
Любая идея, что я делаю не так? Является ли большая часть адаптации правильной? ЛЮБАЯ ПОМОЩЬ ОЦЕНКА. Thanks
p.s. пожалуйста, не предлагайте компараторов или подобных вещей, это не то, что я ищу.
ошибка говорит, что все это на самом деле. Измените переменную 'temp' на тип' Player' вместо 'int'. –
Внешний цикл должен начинаться с индекса '0', ** NOT **' 1' и должен заканчиваться на 'players.size() - 1', внутренний цикл должен начинаться с индекса' i + 1'. https://en.wikipedia.org/wiki/Selection_sort#Implementation –