排序算法-冒泡排序
核心逻辑
- 比较数组中,相邻两个元素的大小,如果前一个比后一个元素大,则交换他们位置
- 每次比较,都能产生出一个最大或者最小的元素
- 每轮循环都可以较少一次排序,依次循环,直至结束
实现步骤
/**
* 冒泡排序
*/
static void Test02(){
//定义一个数组
int [] arr={1,2,5,4,6,88,7,55,95,45,85,96,456,7551,3,10};
//需要进行排序的次数,arr.length-1 是为了在排序时下标补越界,且因为比较的是相邻两个之间的元素,所以不会进行最后一轮循环
for (int i = 0; i < arr.length-1;i++) {
//每一轮排序算法过后最后一个元素一定是最大的,所以下次排序时应排除最后元素的排序
for(int j=0;j<arr.length-1-i;j++){
//如果数组前面的元素要大于后面一位元素则将他们交换位置
if(arr[j]>arr[j+1]){
int s =arr[j];
arr[j]=arr[j+1];
arr[j+1]=s;
}
}
}
System.out.println(Arrays.toString(arr));
}
总结:冒泡排序是所有算法中最经典的排序算法之一,以此记录。