我有这样的代码:
public void execute(char[] array) {
mergesort(array,0,array.length);
}
但这里的签名mergesort(int[] data, int first, int n)
所以我不能在我的 char 数组上应用合并排序。
有什么办法可以解决这个问题吗?
您可以复制char[]到 anew int[]并在完成后复制回来。
或者您可以复制合并排序的代码并将其更改为char[]
三种可能:
mergesort()_char[]int与数组内容相同的char数组,然后对其进行排序,将结果复制回来。Arrays.sort(char[]).