这篇文章讲八种排序方法中的冒泡排序,这种排序属于交换排序的范畴。这个算法很简单,很多人在排序的时候都会下意识的选择这种排序算法。
冒泡排序
原理:将序列划分为无序和有序区,不断通过交换较大元素至无序区尾完成排序。
要点:设计交换判断条件,提前结束以排好序的序列循环。
实现:
public static void BubbleSort(int L[]) {
int i, j;
boolean ischanged;// 设计跳出条件
for (j = L.length - 1; j > 0; j--) {
System.out.println(j);
ischanged = false;
for (i = 0; i < j; i++) {
if (L[i] > L[i + 1]) {// 如果发现较重元素就向后移动
int temp = L[i];
L[i] = L[i + 1];
L[i + 1] = temp;
ischanged = true;
}
}
if (!ischanged)// 若没有移动则说明序列已经有序,直接跳出
break;
}
}