冒泡排序
package com.atguigu.sort;
/**
* @author JiangDong
* @date 2020/9/1 - 9:58
*/
public class BubbleSort {
// 冒泡排序方法
public int[] bubbleSort(int arr[]){
// 创建一个用于 交换值的中间变量
int temp = 0;
// 外层循环表示 当前数组排序成功 需要进行的冒泡排序总次数(总是数组长度-1)
for (int i = 0; i < arr.length-1 ; i++) {
// 内层循环表示 每一次冒泡排序 需要进行几次(总是数组长度-i-1)
// 例子 : arr:{2,4,3,1,7,0} 一共要冒泡排序5次
// 第1次 内部循环比较5次 第2次 内部循环比较4次 ...
for (int j = 0; j < arr.length-(i+1) ; j++) {
// 判断相邻元素大小
if (arr[j]>arr[j+1]){
// 满足条件 将大的值 传递到左边
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
// 返回排序后的数组
return arr;
}
// 测试冒泡排序
public static void main(String[] args) {
// 创建一个数组
int []arr = {3,5,1,7,2,0};
// 创建排序对象
BubbleSort bubbleSort = new BubbleSort();
// 排序后的数组,冒泡排序
int newArr[] = bubbleSort.bubbleSort(arr);
// 循环遍历
for (int a:newArr
) {
// 输出打印
System.out.printf("%d\t",a);
}
}
}
结果: