一、问题描述
对一维整型数组进行冒泡排序的代码如下:请改用递归完成。(正序)
二、源码
package we;
import java.util.Scanner;
public class Student {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int array[] =new int[10];
int a=10;
System.out.println("输入你想要进行排序的一组数据");
for(int i=0;i<10.0;i++) {
array[i]=sc.nextInt();
}//手动输入一组数据,i来表示数组的下标
selection_sort(a,array);//调用递归算法
System.out.println("下面将输出采用递归算法后的排序结果");
for(int q=0;q<10;q++) {
System.out.println(array[q]);
}//输出排序后啊数组
}
static void selection_sort(int n,int[] array){
if(n<0) {
return ;
}
sort(n,array);
selection_sort(n - 1, array);
}//递归算法
static void sort(int n,int a[]) {
int j = 0;
for(int k=0;k<n-1;k++) {
if(a[n-1]<a[k]) {
j=a[n-1];
a[n-1]=a[k];
a[k]=j;
}
}
}//比较最后一个数与前面的数,小的换到前面,每轮每次把最大的沉在最后
}