zoukankan      html  css  js  c++  java
  • 常用的两种算法:冒泡排序和选择排序

    1.冒泡排序(排序后的结果 :从小到大):

    class demo1{
    
        public static void main(String[] args){
    
             int[] strArr = new int[]{1, 2,57,48,24};
             int temp = 0;
    
             for(int i = 0; i < strArr.length - 1; i++){
    
                 for(int j = 0; j < strArr.length - 1 - i; j++){
                  
                 if(strArr[j] > strArr[j + 1]){
                 temp = strArr[j];
                 strArr[j] = strArr[j + 1];
                 strArr[j + 1] = temp;
                 }
    
                }  
           }
             for(int i = 0; i < strArr.length; i++){
                System.out.print(strArr[i]);
                  }
       }
    }
    

     因为每次循环去执行if里面的语句,而if里面总是strArr[j]与strArr[j + 1]作比较,所以假如有五个元素要进行排序的话,(外面的for语句每走一次叫一个来回)第一次走一个来回并(第二个for循环)最后一次循环时,应该是strArr[3]与strArr[4]作比较,所以j 最大等于3,因此 j < strArr.length - 1 - i。

     2.选择排序(排序后的结果 :从大到小):

    class demo1{
    
        public static void main(String[] args){
    
             int[] strArr = new int[]{1, 2,57,48,24};
             int temp = 0;
    
             for(int i = 0; i < strArr.length - 1; i++){
    
                 for(int j = i + 1; j <= strArr.length - 1 ; j++){
                  
                 if(strArr[i] < strArr[j]){
                 temp = strArr[j];
                 strArr[j] = strArr[i];
                 strArr[i] = temp;
                 }
    
                }  
           }
             for(int i = 0; i < strArr.length; i++){
                System.out.print(strArr[i]);
                  }
       }
    }
    

     选择排序的思路是:每次拿出前面的一个数跟后面的其它的数依次作比较

  • 相关阅读:
    Day 69
    Day 68
    Day 67
    Day 66
    Day 65
    Day 64
    Day 63
    Day 62
    Day 61
    Day 60
  • 原文地址:https://www.cnblogs.com/WNof11020520/p/6076259.html
Copyright © 2011-2022 走看看