冒泡排序:
第一步:从第一个元素开始,将相邻的两个元素进行比较,如果前一个元素比后一个元素大,则交换他们的位置,直到最后两个元素完成比较。整个过程完成后,数组中最后一个元素自然就是最大值,这样也就完成了第一轮比较。
第二步:除了最后一个元素,将剩余元素继续进行两两比较,过程与第一步相似,这样就可将数组中的第二大元素放在倒数第二个位置。
第三步:依次类推,持续对越来越少的元素重复上面的步骤·,直到没有任何一对元素比较为止。
冒泡排序:
第一步:从第一个元素开始,将相邻的两个元素进行比较,如果前一个元素比后一个元素大,则交换他们的位置,直到最后两个元素完成比较。整个过程完成后,数组中最后一个元素自然就是最大值,这样也就完成了第一轮比较。
第二步:除了最后一个元素,将剩余元素继续进行两两比较,过程与第一步相似,这样就可将数组中的第二大元素放在倒数第二个位置。
第三步:依次类推,持续对越来越少的元素重复上面的步骤·,直到没有任何一对元素比较为止。
public static void main(String[] args){
int[] arr = {9,8,5,10,69};
System.out.print("冒泡排序前:");
printArray(arr); //打印数组元素
bubbleSort(arr); //调用排序方法
System.out.print("冒泡排序后");
printArry(arr); //打印数组元素
}
//定义打印数组的方法
public static void printArray(int[] arr ){
//循环遍历数组的元素
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i] + " "); //打印元素和空格
}
}
//定义对数组排序的方法
public static void bubbleSort(int[] arr){
for(int i = 0;i < arr.length - 1;i++){
//定义内循环
for(int j = 0; j < arr.length - i - 1; j++ ){
if(arr[j] > arr[j + 1] ){
//下面三行代码用于交换两个元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.print("第" + (i + 1) +"轮排序后":);
printArray(arr); //每轮比较结束后打印数组元素
}
}
Copyright © 2021-2022 www.miaokee.com 秒客网 备案号:粤ICP备2021167564号
免责声明:本站文章多为用户分享,部分搜集自互联网,如有侵权请联系站长,我们将在72小时内删除。