我有一个程序可以读取.txt文件,创建其内容的数组,使用合并排序对其进行排序,然后在控制台中打印出排序后的数组。我无法让它打印出排序后的数组。
public static void mergesort (int[] arr, int [] temp, int p, int r)
{
if (p < r)
{
//find middle
//sort first and second half
mergesort(......);
mergesort(......);
//merge sorted halves
merge(.................);
}
public static void merge (int[] arr, int[] temp, int p, int r, int q)
{
int i = p;
int j = q+1;
/*Merge back to arr[]*/
for (int k = p; k<= r; k++)
{
if
else if, etc.......
}
}
然后是驱动程序。
public static void main(String[] args) {
int[] inputArray = readFile("input.txt");
/* copy inputArray to temp array*/
int [] temp = Arrays.copyOf(inputArray, inputArray.length);
mergeSort ms = new mergeSort();
ms.mergesort(inputArray, temp, inputArray[0], inputArray[inputArray.length-1]);
for (int i: inputArray)
{
System.out.print(i + " \n");
}
}
一段时间以来,我一直在对该主题进行一些研究,但我真的不知道如何打印出来。我知道,现在它只是打印出从文本文件创建的inputArray。需要像sortedArray = merge(inputArray)这样的东西。