美文网首页
冒泡排序

冒泡排序

作者: 储僖僧僳儒 | 来源:发表于2018-01-09 19:52 被阅读0次

            在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。

           即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

                  第一次比较排序的结果:会把其中最大的数据排到最大的索引处

                 第二次比较排序后的结果:因为第一次已经把最大的一个数据放到了最大的索引的地方,所以这次要进行比较的数据比数组里面的元素的数据个数-1个,而第二大的数据也会排到第二大的索引处

               第三次比较排序的结果:跟第二次差不多,只是这次要进行比较的数据比数组里面的元素的数据个数还少了2个,

                 第四次:少3个...

         综上所述,要使数组里面的数据按照从小到大排序,总的比较的次数会比数组的长度-1次,而随着比较的次数的增加,每次要进行比较的数据依次减少。

    public class Demo {

           public static void main(String[] args) {

               int number[]={49,38,65,97,76,13,27,14,10};

                 for(int i=0;i<number.length-1-i; j++) {

                   if (number[j] >number[j+1]) {

                         int tmp = number[j];

                        number[j] = number[j+1];

                         number[j + 1] = tmp;

                     }

             }

           for (int j = 0; j < number.length; j++) {

                   System.out.print(number[j] +"\t");

           }

                System.out.println("排序"+(i+1)+"次后的结果");

             }

        }

     }

    相关文章

      网友评论

          本文标题:冒泡排序

          本文链接:https://www.haomeiwen.com/subject/mwmgnxtx.html