Zostałem za zadanie przekształcenie tego kodu w rodzaj odwrotny, ale z mojego życia nie mogę wymyślić, jak to zrobić. Są to moje rodzaje, najłatwiejsze i metody zamiany. Mam przeczucie, że brakuje mi czegoś oczywistego tutaj, każda pomoc będzie naprawdę doceniona.Sortowanie tablicy łańcuchów znaków w odwrotnej kolejności alfabetycznej w Javie
public static void sort(String[] arr)
{
for (int pass = 1; pass < arr.length; pass++)
{
int largestPos = findLargest(arr, arr.length - pass);
if (largestPos != arr.length - pass)
{
swap(arr, largestPos, arr.length - pass);
}
}
}
public static int findLargest(String[] arr, int num)
{
int largestPos = 0;
for (int i = 1; i <= num; i++)
{
if (arr[i].compareToIgnoreCase(arr[largestPos]) > 0)
{
largestPos = i;
}
}
return largestPos;
}
public static void swap(String[] arr, int first, int second)
{
String temp = arr[first];
arr[first] = arr[second];
arr[second] = temp;
}
}
Czy można używać kolekcji i listy ArrayList? –
Tylko mały komentarz: Tablice w Javie zaczynają się od indeksu 0, a nie 1. – str
@str OP nie musi sprawdzać, czy 'arr [0]> arr [0]'; rozpoczęcie kontroli w indeksie 1 jest w porządku. – irrelephant