java有一组乱序的字符 a,b,c,e将他们正序排序和逆序输出 然后插入m 要去插入之后依旧保持有序
时间: 2024-12-16 14:27:06 浏览: 2
在Java中,你可以使用数组或者ArrayList来存储这组字符,并结合遍历和插入操作来完成这个任务。首先,我们将它们正序排列并输出,然后逆序输出,最后插入新的字符m并保持有序。
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
char[] chars = {'a', 'b', 'c', 'e'};
// 正序排序
Arrays.sort(chars);
System.out.println("正序排序后的字符: " + String.valueOf(chars));
// 逆序输出
for (int i = chars.length - 1; i >= 0; i--) {
System.out.print(chars[i] + " ");
}
System.out.println("\n逆序排序后的字符: ");
// 插入字符'm'
char m = 'm';
// 需要在适当位置插入,这里假设插入点在'e'之前
int insertIndex = Arrays.binarySearch(chars, 'e');
if (insertIndex < 0) { // 如果'e'不在数组中,索引为负数,插入末尾
insertIndex = -(insertIndex + 1); // 获取实际插入位置
}
chars = insertAt(chars, insertIndex, m);
System.out.println("插入 'm' 后的有序字符: " + String.valueOf(chars));
}
private static char[] insertAt(char[] array, int index, char value) {
char[] newArray = new char[array.length + 1];
System.arraycopy(array, 0, newArray, 0, index);
newArray[index] = value;
System.arraycopy(array, index, newArray, index + 1, array.length - index);
return newArray;
}
}
```
阅读全文