我的任务是将此代码转换为反向排序,但是对于我来说无法弄清楚如何去做。这些是我的排序,查找最大和交换方法。我有一种感觉,我失去了一些显而易见的东西,任何帮助都会非常感激。在Java中对字符串数组按字母顺序排序
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;
}
}
您允许使用Collections和ArrayList吗? –
只是一个小小的评论:Java中的数组从0开始,而不是从1开始。 – str
@str OP不必检查'arr [0]> arr [0]';在索引1处开始检查很好。 – irrelephant