八种排序的关系:
在一组需要排序的数据中,对未排序的所有数据一次进行两两对比, 自上向下的对相邻两个数进行比较和调整, 大的数据下沉,下的数据上浮, 即:两个相邻的数据比较后,发现它们的顺序和排序要求相反,就进行互换。 从下面的数据可以看到,每轮比较调整之后,未排序的最小的数都跑到最前面了,经过多轮比较,前面未有序,后面未无序,直到最后一轮,整个数据到达有序。
public class BubbleSort {
public static void main(String[] args) {
int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
for (int i = 0; i < a.length-1; i++) {
//内层循环:比较两两相邻的数据, 不满足排序要求的,进行位置调换
for (int j = 0; j < a.length-i-1; j++) {
//比较a[j]和a[j+1], 小的向后移动
if (a[j] < a[j+1]) {//互换位置
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}//经过一个循环, 前部的未排序中的最小的一个被移动到了最后一个位置
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] +" ");
}
}
}