排序算法原理
(1)对数组中的各数据,依次比较相邻的两个元素的大小
(2)如果前面的数据大于后面的数据,就交换这两个数据。经过第一轮的多次比较排序后,便可把最小的数据排好。
(3)再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数组各数据的排序。
优缺点
冒泡排序算法在对N个数据进行排序时,无论原数据有无顺序,都需要进行N-1步的中间排序。
优点:思路简单
缺点:步骤长,效率低
程序
public static void bubbleSort1(int[] src){
int temp;
for(int i = 1; i < src.length; i++){//遍历 n - 1次
for(int j = 0; j < src.length - i; j++){
if(src[j] > src[j + 1]){
temp = src[j];
src[j] = src[j + 1];
src[j + 1] = temp;
}
}
}
}
public static void bubbleSort2(int[] src){
int temp;
for(int i = 0; i < src.length; i++){
for(int j = src.length - 1; j > i; j--){
if(src[j] < src[j - 1]){
temp = src[j];
src[j] = src[j - 1];
src[j - 1] = temp;
}
}
}
}