冒泡排序法
1.代码案例
package com.cn.test;
import java.util.Arrays;
//冒泡排序法
/*
* 1. 比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换它们的位置
* 2. 每一次比较都会产生一个最大或最小的数字
* 3. 下一轮则可以少一次排序
* 4. 依次循环,知道结束
*/
public class BubbleSort {
public static void main(String[] args) {
//定义一个数组
int[] array = {3,5,44,99,8,20,2,33,28,10,7};
//打印排序前的数组
System.out.println("排序前的数组为:"+Arrays.toString(array));
System.out.println("======================================================");
//调用排序方法,返回排序后的数组
int[] sort = sort(array);
System.out.println("排序后的数组为:"+Arrays.toString(sort));
}
//定义排序方法
public static int[] sort(int[] array){
//定义一个临时变量,用作中间变量进行交换位置
int temp = 0;
//外层循环,判断需要循环多少次
for (int i = 0; i < array.length-1; i++) {
//内层循环,比较判断两个数,如果第一个数比第二个数大,则交换位置
for (int j = 0; j < array.length-1-i; j++) {
//降序,如升序,则将大于号改为小于号
if (array[j+1]>array[j]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
//返回结果
return array;
}
}
2.展示效果图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TSMvxY3l-1638112886091)(D:\MarkDown学习\imgs\sort.png)]
|