Java冒泡排序

时间:2019-08-19
本文章向大家介绍Java冒泡排序,主要包括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] 的大小,然后排序。

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

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

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