目录
排序的介绍:
排序是将多个数据,依指定的顺序进行排列的过程。
内部排序:
指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法、选择 式排序法和插入式排序法);
外部排序:
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。包括(合并排序法和直接合并排序法)。
冒泡排序:
冒泡排序特点
通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素 的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。
案例演示:
/*
数组 [24,69,80,57,13]
第 1 轮排序: 目标把最大数放在最后 第 1 次比较[24,69,80,57,13]
第 2 次比较[24,69,80,57,13]
第 3 次比较[24,69,57,80,13]
第 4 次比较[24,69,57,13,80]
*/
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {24, 69, 80, 57, 13};
int temp = 0; //用于辅助交换的变量
//将多轮排序使用外层循环包括起来即可
//i<4 就是 arr.length - 1
for( int i = 0; i < arr.length - 1; i++) {//外层循环是 4 次
for( int j = 0; j < arr.length - 1 - i; j++) {//4 次比较-3 次-2 次-1 次
if(arr[j] > arr[j + 1]) {//如果前面的数>后面的数,就交换
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
System.out.println("\n==第"+(i+1)+"轮==");
for(int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + "\t");
}
}
}
}