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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© www851903307 中级黑马   /  2015-2-17 15:42  /  661 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   编写程序,生成5个1至10之间的随机整数,存入一个List集合,
    编写方法对List集合进行排序(自定义排序算法,
    禁用Collections.sort方法和TreeSet),然后遍历集合输出。
//为何排序后使用迭代器输出,不是排序过后的
使用数组输出,整数就是排序过后的
public class Coll2 {
       
        public static void main(String[] args) {
                List<Integer> list = new ArrayList<Integer>();
                Random random = new Random();
                while (list.size()<5) {
                        list.add(random.nextInt(10)+1);
                }
                sort(list);
                               
        }

        public static void sort(List<Integer> list) {
                Integer[] arr = list.toArray(new Integer[(list.size())]);
                //排序
                for(int x=0;x<arr.length-1;x++){
                        for(int y=x+1;y<arr.length;y++){
                                if(arr[x]>arr[y]){
                                        swap(arr,x,y);
                                }
                        }
                }
//                for (int i = 0; i < arr.length; i++) {
//                        System.out.println(arr[i]);
//                }
                Iterator<Integer> iterator = list.iterator();
                while (iterator.hasNext()) {
                        System.out.println(iterator.next());       
                }
        }
        public static void swap(Integer[] arr, int x, int y) {       
                Integer temp=arr[x];
                arr[x]=arr[y];
                arr[y]=temp;
        }
}


评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1 昨天我也是做这个题

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马