码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序的算法

时间:2018-04-30 13:35:46      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:大小   nbsp   str   void   span   []   算法   public   最大   

思想(升序):

  1.比较两个相邻数据之间的大小,保证大的值在后面,最后,经过一次排序后会选出本次数组中的最大值,放在最后一位;

  2.在排除上一次的最大值数组中,再选出一位最大值放在最后一位;

  3.直到排除(选出)数组长度-1个最大值后,排序完成;

比如:数组为{10  ,34  ,300  ,56  ,6,  56  ,7  ,87  ,  5}数组长度为9;

  

public class find_em {
    public static void main(String[] args){
        int arr[]={10,34,300,56,6,56,7,87,5};
        System.out.println("原始数据:");
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
        System.out.println("\n排序(升序):");
        
        //冒泡排序
        for(int j=1;j<arr.length;j++){  //控制循环次数,也就是选出几个最大值后停止
            for(int i=0;i<arr.length-j;i++){  //交换数据,选出最大值
                if(arr[i]>arr[i+1]){    //如果是降序只要将这里改为<号即可
                    int t=arr[i+1];
                    arr[i+1]=arr[i];
                    arr[i]=t;
                }
            }
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+"\t");
            }
            System.out.println("选出本次最大值:"+arr[arr.length-j]);
        }
        System.out.println("排序后的数据:");
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
        
    }
}

结果:

原始数据:
10    34    300    56    6    56    7    87    5    
排序(升序):
10    34    56    6    56    7    87    5    300    选出本次最大值:300
10    34    6    56    7    56    5    87    300    选出本次最大值:87
10    6    34    7    56    5    56    87    300    选出本次最大值:56
6    10    7    34    5    56    56    87    300    选出本次最大值:56
6    7    10    5    34    56    56    87    300    选出本次最大值:34
6    7    5    10    34    56    56    87    300    选出本次最大值:10
6    5    7    10    34    56    56    87    300    选出本次最大值:7
5    6    7    10    34    56    56    87    300    选出本次最大值:6
排序后的数据:
5    6    7    10    34    56    56    87    300    

 比较次数:36
  交换次数:20

 

冒泡排序的算法

标签:大小   nbsp   str   void   span   []   算法   public   最大   

原文地址:https://www.cnblogs.com/feiquan/p/8973300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!