A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lucy198921 中级黑马   /  2013-3-22 21:14  /  1592 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 lucy198921 于 2013-3-23 19:05 编辑



下面这个是无序的由小到大的排列,    如果排列是从大到小的降序排列需要哪些地方做更改呢?

class ArrayDemo4
        {
        public static void selectSort(int [] arr)
                {
                        for  (int x= 0;x<arr.length-1;x++)
                        {
                        for(int y=x+1;y<arr.length;y++)
                        {
                        if (arr [x] > arr[y] )
                        {
                        int temp= arr [x] ;
                        arr [x]  =arr [y] ;
                        arr [y] = temp ;
                        }
                        
                        }        
                        }
                }
                public static void main (String [ ] args)
                {
                int [ ] arr={4,1,6,6,8,5,3,2};
                printArr(arr);
                selectSort(arr);
               
                printArr(arr);
                }

                public static void printArr(int [ ] arr)
                {
                        System.out.print("[ ");
                        for (int x=0;x<arr.length;x++)  //0 1 2 3 length=4
                        {
               
                        if (x==arr.length-1 )  //4-1=3
                        System.out.print(arr[x]);
                        else
                        System.out.print(arr[x]+", ");
                        }
                        System.out.println(" ]");
                        
                 }
        }
               

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

4 个回复

倒序浏览
  这个还是自己思考来的好,既然升序会了,降序的话相反一下就出来了。
  实践来的最重要,也许你过几分钟你就想出来了,加油{:soso_e179:}
回复 使用道具 举报
    if (arr [x] < arr[y] )-----------------------------只需要改成小于一切OK了
                        {
                        int temp= arr [x] ;
                        arr [x]  =arr [y] ;
                        arr [y] = temp ;

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
把大于换成小于就好了~~~
回复 使用道具 举报
import java.util.*;
class ArryDemo2
{
        public static void main(String[] args)
        {
                int [] arr ={32,31,5,1,99,34,2};
                Arrays.sort(arr );  //开发
                printArr(arr);
        }
        public static void printArr(int[] arr)
        {
                        System.out.print("[");
                        //for (int x=arr.length-1;x>=0 ;x-- )   //0 1 2 3 length=4
                        {
                                //当循环量x到达数组最大索引,不打印逗号
                                if(x==0 )  //4-1=3
                                System.out.print(arr [x]);
                                else
                                System.out.print(arr[x]+", ");

                          }
                          System.out.println("]");
        }
               
}


我测试通过了冒泡排序的降序排列.  

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马