冒泡排序

常用的基础排序算法之一。

原理:遍历需要排序的数列,重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来,如此最小的元素便会慢慢“浮现”出来,也就是此命名缘由。

算法描述:【1】遍历数列,每次比较左右两个数,若前一个数比后一个数大,便交换位置;

     【2】一直遍历到最后一位数,如此最大的一个数便会被放置到数列的最后一位;

     【3】重复【1】【2】步骤,同时随着排序的进行,每次需要比较的数也在减少,即每次需要遍历的次数都在减少,所以需要在内循环的循环次数中减去外循环的当前次数,由此减少循环次数,减低耗能。

动图示例(我网上找的图):

代码实现:

for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length -1 -i; j++) {
                if (array[j] > array[j+1]) {
                     int tamp = array[j];
                     array[j] = array[j+1];
                     array[j+1] = tamp ;
                }
            }
        }

 

posted @ 2019-08-04 10:37  Gikin  阅读(130)  评论(0)    收藏  举报