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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目要求:编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出
下面是我自己写的,大家可能有更优的方法。
  1. public class Num12 {
  2.         public static void main(String[] args){
  3.                 ArrayList<Integer> al = new ArrayList<>();
  4.                 Random ra = new Random();
  5.                 for(int x=0;x<5;x++){
  6.                         int a = ra.nextInt(10)+1;
  7.                         al.add(a);
  8.                 }
  9.                 System.out.println(al);
  10.                 sort(al);
  11.                 System.out.println(al);
  12.                
  13.         }
  14.         public static void sort(ArrayList<Integer> al){
  15.                 int[] array= new int[al.size()];
  16.                 for (int i = 0; i < array.length; i++) {
  17.                         array[i]=al.get(i);
  18.                 }
  19.                 al.clear();
  20.                 for (int j = 0; j < array.length; j++) {
  21.                         for (int k = 0; k < array.length-1-j; k++) {
  22.                                 if (array[k]<=array[k+1]) {
  23.                                         int temp=array[k];
  24.                                         array[k]=array[k+1];
  25.                                         array[k+1]=temp;
  26.                                 }
  27.                         }
  28.                         al.add(array[array.length-1-j]);
  29.                 }
  30.         }
  31. }
复制代码

3 个回复

倒序浏览
谢谢,感觉还不错》》。。
回复 使用道具 举报
  1.         public static void main(String[] args) throws Exception {
  2.                 Integer it[] = new Integer[5];
  3.                 Random random = new Random();
  4.                 for (int i = 0; i < 5; i++) {
  5.                         int a = random.nextInt(10);
  6.                         it[i] = a;
  7.                 }
  8.                 for (int i = 0; i < 4; i++) {
  9.                         for (int j = 0; j < 4 - i; j++) {
  10.                                 if (it[j] > it[j + 1]) {
  11.                                         int temp = it[j];
  12.                                         it[j] = it[j + 1];
  13.                                         it[j + 1] = temp;
  14.                                 }
  15.                         }

  16.                 }
  17.                 List<Integer> list = new ArrayList<Integer>(Arrays.asList(it));
  18.                 Iterator<Integer> iterator = list.iterator();
  19.                 while (iterator.hasNext()) {
  20.                         System.out.println(iterator.next());
  21.                 }

  22.         }
复制代码
回复 使用道具 举报
还有没有别的了?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马