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

Java冒泡排序

时间:2019-08-19 20:52:00      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:一个   com   pre   进入   sys   简洁   out   col   长度   

冒泡排序源码:

    int[] in = {41,33,-95,2,7,43,655,2394,54};
    int num = in.length;
    for(int i = 0;i<in.length-1;i++){
            for (int j = 0;j<in.length-i-1;j++){
                if(in[j+1] < in[j]){
                    int emmm = in[j];
                    in[j]=in[j+1];
                    in[j+1]=emmm;
                }

            }
            for(int ii = 0; ii < num; ii++){
                System.out.print(in[ii]+"=");
            }
            System.out.println();
        }

技术图片

每次排序就是把最大元素排在最后面,下次排序数组长度-1,就是不用管最后一个元素,依次把最大元素排在最后面,数组长度-1~~~~

 

还有一种排序的方法:

        int[] in = {41,33,-95,2,7,43,655,2394,54};
        int num = in.length;

        for (int i = 0;i<in.length;i++){
            for (int j = 0;j<i;j++){
                if(in[i]<in[j]){
                    int emmm = in[j];
                    in[j]=in[i];
                    in[i]=emmm;
                }
            }
            for(int ii = 0; ii < num; ii++){
                System.out.print(in[ii]+"=");
            }
            System.out.println();
        }

技术图片

当 i=1,数组元素没有变化

当 i=2,j=1,进入里面循环,判断 in[2] 和 in[1] 的大小,然后交换值。这就完成了一次排序,也就是数组中的第一个元素跟第二个元素比较、然后排序

当 i=3,j=2,进入里面循环,这里会循环两次,判断 in[3] 和 in[1] 的大小然后排序,排序完成之后,再判断 in[3] 和 in[2] 的大小,然后排序。

 

相对冒泡排序,原理相对复杂,但是代码相对简洁,效果目测一样。

 

如若有错地方,欢迎大家批评改正。

Java冒泡排序

标签:一个   com   pre   进入   sys   简洁   out   col   长度   

原文地址:https://www.cnblogs.com/JJdom/p/11379453.html

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