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]);
                  }
       }
    }
    

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

  • 相关阅读:
    hdu 2191 珍惜现在,感恩生活(多重背包)
    《从Paxos到ZooKeeper分布式一致性原理与实践》学习知识导图
    你对ArrayList了解多少?
    JAVA酒店管理系统
    C#酒店管理系统
    C#图书管理系统
    java图书管理系统
    豆瓣高分JAVA书籍,你都读过吗?
    JAVA课程设计----------JAVA学生信息管理系统
    C#学生管理系统
  • 原文地址:https://www.cnblogs.com/WNof11020520/p/6076259.html
Copyright © 2011-2022 走看看