排序

 1 public class TestSort{
 2 
 3     public static void main(String[] args){
 4 
 5     int nums[] = {88,65,77,90,68};
 6 
 7     int temp = 0;
 8 
 9     //重复找若干个数中的最大值
10     //循环一次,找一次最大值
11     //循环的次数是要排序的数的个数减一
12     for(int i = 1; i < nums.length; i++){
13         //找最大值就是进行重复的比较工作
14         //内循环一次,则进行一次比较    
15         //内循环的次数跟本次找最大值的个数有关
16         for(int j = 0; j < nums.length - i; j++){
17         //两个相邻的数相互比较
18         if(nums[j] > nums[j + 1]){
19             //交换位置
20             temp = nums[j];    
21             nums[j] = nums[j + 1];
22                 nums[j + 1] = temp;
23         }
24         }
25     }
26 
27     for(int num : nums){
28         System.out.print(num + "\t");
29     }
30 
31     }



 

 /*
       在java有内置的排序/升序
    */
   
int[] ints = new int[]{12, 345, 567, 45, 04, 34, 2323, 434};
Arrays.sort(ints);
for (int anInt : ints) {
    System.out.println(anInt);
}
 
/*
    降序/反序
*/

 String[] s = new String[]{"b", "c", "a", "e", "s", "a"};
//加上Collections.reverseOreder()就是降序 Arrays.sort(s, Collections.reverseOrder());
for (String anInt : s) { System.out.println(anInt); }


/*
  jdk 8的语法
  
    String[] s = new String[]{"b", "c", "a", "e", "s", "a"};

    Arrays.stream(s).sorted().toArray(String[]:: new);

*/

 

 

结果:

posted @ 2018-12-04 19:10  YouAreABug  阅读(124)  评论(0编辑  收藏  举报