首页 > 技术文章 > Java学习笔记(八):排序

long99 2021-08-27 00:17 原文

 排序的介绍:

排序是将多个数据,依指定的顺序进行排列的过程。 

内部排序:

指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法、选择 式排序法和插入式排序法);

外部排序:

数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。包括(合并排序法和直接合并排序法)。

冒泡排序:

冒泡排序特点

通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素 的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。

 案例演示:

/*
数组 [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");
    }
}


}
}

 


推荐阅读