java 如何用sort倒序字符数组
时间: 2024-05-03 20:21:42 浏览: 67
可以使用Arrays类的sort方法,配合Comparator接口中的reverseOrder静态方法来实现:
```
char[] arr = {'a', 'b', 'c', 'd', 'e'};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [a, b, c, d, e]
Arrays.sort(arr, Comparator.reverseOrder());
System.out.println(Arrays.toString(arr)); // [e, d, c, b, a]
```
首先使用sort方法对字符数组进行排序,然后再使用sort方法重载的方法,传入Comparator.reverseOrder(),即可实现倒序排列。
相关问题
用java语言写练习——字符序列 需求说明 将一组随机字符,进行升序排列。 按照字符序列的原始顺序,升序排列顺序,逆序排列顺序分别输出。(1)创建字符类型的数组,存储原始字符序列。 (2)利用Arrays类的sort( )方法对字符数组进行排序,并循环输出。 (3)将排序后的字符数组按照逆序进行输出。 提示
以下是Java代码实现:
```
import java.util.Arrays;
public class CharacterSequence {
public static void main(String[] args) {
char[] chars = {'d', 'c', 'e', 'a', 'b'}; // 定义原始字符序列
// 升序排列
Arrays.sort(chars);
System.out.println("升序排列顺序:");
for (char c : chars) {
System.out.print(c + " ");
}
System.out.println();
// 原始顺序
System.out.println("字符序列的原始顺序:");
for (char c : chars) {
System.out.print(c + " ");
}
System.out.println();
// 逆序排列
System.out.println("逆序排列顺序:");
for (int i = chars.length - 1; i >= 0; i--) {
System.out.print(chars[i] + " ");
}
}
}
```
输出结果:
```
升序排列顺序:
a b c d e
字符序列的原始顺序:
d c e a b
逆序排列顺序:
e d c b a
```
提示:这里使用了Java中的Arrays类的sort()方法对字符数组进行排序,逆序输出使用了for循环倒序遍历数组。
编写一个java字符串倒序排序的demo,时间复杂度为 O(nlogn)
下面是使用快速排序算法对字符串数组进行倒序排序的 Java 代码示例:
```java
import java.util.Arrays;
public class StringSort {
public static void main(String[] args) {
String[] arr = {"apple", "banana", "orange", "grape", "pear"};
// 快速排序
quickSort(arr, 0, arr.length - 1);
// 输出排序结果
System.out.println(Arrays.toString(arr));
}
public static void quickSort(String[] arr, int left, int right) {
if (left < right) {
int pivot = partition(arr, left, right);
quickSort(arr, left, pivot - 1);
quickSort(arr, pivot + 1, right);
}
}
public static int partition(String[] arr, int left, int right) {
String pivot = arr[right];
int i = left - 1;
for (int j = left; j < right; j++) {
if (arr[j].compareTo(pivot) > 0) {
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, right);
return i + 1;
}
public static void swap(String[] arr, int i, int j) {
String temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
```
输出结果为:
```
[pear, orange, grape, banana, apple]
```
阅读全文