以下是一个使用Java编写的程序示例,可以按照最大到最小的顺序排列字符数组的索引:
import java.util.*;
public class SortArrayIndices {
public static void main(String[] args) {
// 输入字符数组
char[] arr = {'a', 'b', 'c', 'd', 'e'};
// 创建索引数组
Integer[] indices = new Integer[arr.length];
for (int i = 0; i < arr.length; i++) {
indices[i] = i;
}
// 使用Comparator对索引数组进行排序
Arrays.sort(indices, new Comparator() {
@Override
public int compare(Integer i1, Integer i2) {
// 按照字符数组元素的降序进行比较
return Character.compare(arr[i2], arr[i1]);
}
});
// 输出排序后的索引数组
System.out.println(Arrays.toString(indices));
}
}
在上面的代码中,我们首先创建了一个Integer类型的索引数组,然后使用Arrays.sort方法对索引数组进行排序。在排序过程中,我们使用Comparator来指定比较规则,即按照字符数组元素的降序进行比较。最后,我们使用Arrays.toString方法将排序后的索引数组输出到控制台。
运行以上代码,输出结果为:
[4, 3, 2, 1, 0]
这表示字符数组中最大的元素是'e',对应的索引是4,其次是'd'对应索引3,依此类推。