冒泡排序顾名思义就是整个过程就像气泡一样往上升,单向冒泡排序的基本思想是(假设由小到大排序):对于给定的n个记录,从第一个记录开始依次对邻居的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和换位后,n个记录中的最大记录将位于第n位;然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩下一个为止。
public class Sort {
private static void sort3(int[] a) {
for(int i = 1; i < a.length; ++i) {
for(int j = a.length - i; j > 0; --j) {
if(a[j] < a[j - 1]) {
int temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] a = {36, 27, 48, 12, 25, 65, 43, 57};
sort3(a);
print(a);
}
private static void print(int[] a) {
System.out.print("从小到大冒泡排序:");
for(int i : a)
System.out.print(i + " ");
System.out.println();
}
}
打印结果:
从小到大冒泡排序:12 25 27 36 43 48 65 57