一、 冒泡算法:
冒泡排序(Bubble sort)是一种简单直观的排序算法,依次访问要走过的序列,依次比较两个元素,如果他们的顺序错误就交换过来。重复上述操作直到没有再需要交换的元素,若从小到大排序,每次最大的元素都会“沉底”。
二、算法步骤:
1) 比较相邻元素,如果第一个比第二个大,就交换两个元素
2) 对每对元素做相同的工作,从开始第一对到最后一对,此时最大的元素沉底。
3)针对所有元素重复以上步骤,知道没有需要交换的元素为止。
三、实现代码:(代码中会每次浮出最小的元素)
public static void bubbleSort(int[] array) {
boolean swap = false;
for (int i = 0; i < array.length - 1; i++) {
swap = false;
for (int j = array.length - 1; j > i; j--) {
if (array[j] < array[j - 1]) {
int tmp = array[j];
array[j] = array[j - 1];
array[j - 1] = tmp;
swap = true;
}
}
if (!swap) {
break;
}
}
}
注: 用swap来标记每次的循环过程是否有交换的元素。