java中数组int[] num = new int[]{3,2,7,5,9,1};实现从大到小冒泡排序

求大神给答案代码,完整点……

刚才花了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);//换过位置以后 使用递归进行处理 换位置。直到当前位置满足
}
}
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-26
楼主你好,下面是代码
public class test_1_8 {
public static void main(String[] args) {
test_1_8 sort = new test_1_8();
int[] arr = new int[]{3,2,7,5,9,1};
sort.sort(arr);
for(int i : arr){
System.out.print(i+",");
}
}
public void sort(int[] targetArr){//大到小的排序
int temp = 0;
for(int i = 0;i<targetArr.length;i++){
for(int j = i;j<targetArr.length;j++){
if(targetArr[i]<targetArr[j]){
temp = targetArr[i];
targetArr[i] = targetArr[j];
targetArr[j] = temp;
}
}
}
}
}本回答被网友采纳
第2个回答  2014-08-15
public class BubbleSortTest{
public static void main(String[] args) {
int[] num = new int[]{3,2,7,5,9,1};
BubbleSort(num);
printarr(num);
}
public static void BubbleSort(int[] arr){
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-1-x;y++){
if(arr[y]<arr[y+1]){
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
public static void printarr(int[] arr){
for(int x=0;x<arr.length;x++){
System.out.print(arr[x]+" ");
}
}
}
相似回答