Java冒泡排序

Posted jjdom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java冒泡排序相关的知识,希望对你有一定的参考价值。

冒泡排序源码:

    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冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法之冒泡选择插入排序(Java)

用java写一个冒泡排序,封装一个学生,学生有属性,姓名,年龄,已学生年龄排序

Java代码实现—冒泡排序

Java冒泡排序

java冒泡排序和快速排序代码

冒泡排序