【发布时间】:2015-06-12 18:45:42
【问题描述】:
要对数组进行递归排序,请找到数组中最大的元素并将其与最后一个元素交换。然后递归地对数组从开始到倒数第二个元素进行排序。编写并测试以这种方式对数组进行递归排序的方法。启动它,我认为我的代码完全是垃圾。递归对我来说没有多大意义,只需要帮助解决这个问题。我找到了如何定位数组中最高 int 的方法,只是很难找到递归来对它进行排序。
public class Sorting
{
public static void main(String[] args)
{
int[] array={5,1,8,3,4,7};
int length = array.length;
int max = -99999;
int[] revArray= sortArray(array,length-1,max,length);
for(int i:revArray)
System.out.print(i+" ");
}
public static int[] sortArray(int[] a,int j,int max,int length)
{
if( j <= 0)
{
return a;
}
if(max < a[j])
{
max = a[j];
return sortArray(a, j-1, max,length);
}
return a;
}
}
【问题讨论】:
-
如果您展示您的尝试,您更有可能在这里获得帮助。发布您的代码,即使您认为它完全是垃圾!
-
swap在哪里? -
你可能想谷歌“递归冒泡排序”。
-
我一直在尝试交换方法,但没有工作。不幸的是,冒泡排序不是教授想要的
-
为什么不寻找成熟的递归排序算法,如 QuickSort 和 MergeSort?
标签: java arrays sorting recursion