刚才花了2分钟写了一下,可以满足你的要求,而且我写代码用了递归,应该算是比较精简了。你直接新建一个文件把代码拷过去就可以看到效果了。
public class SortTest {
public static void main(String[] args) {
//测试数组
int[] num = new int[]{3,2,7,5,9,1,300};
System.out.print("排序前的位置:");
for (int i : num) {
System.out.print(i+"-");
}
System.out.println();
System.out.print("排序后的位置:");
sortMaxToMin(num);//调用排序方法
for (int i : num) {
System.out.print(i+">");
}
}
//将数组从大到小排序
public static void sortMaxToMin(int[] arrs){
for(int i=0;i<arrs.length-1;i++){
if(arrs[i]<arrs[i+1]){//判断如果是前一个小于后一个就换位置。
int s = arrs[i];
arrs[i]=arrs[i+1];
arrs[i+1]=s;
sortMaxToMin(arrs);//换过位置以后 使用递归进行处理 换位置。直到当前位置满足
}
}
}
}