冒泡排序
常用的基础排序算法之一。
原理:遍历需要排序的数列,重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来,如此最小的元素便会慢慢“浮现”出来,也就是此命名缘由。
算法描述:【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 ; } } }

浙公网安备 33010602011771号