Java冒泡排序
算法描述:
- 1 比较相邻的两个元素,如果第一个比二个大就交换它们两个
- 2 对每一对相邻的元素从开始到结束进行比较,最后一个元素就是最大的
- 3 重复步骤1-2最终变成从小到大的有序数组
代码实现:
import java.util.Arrays;
public class Sort {
public void BubbleSort(int arr[]) {
int temp;// 定义一个中间变量进行值的变换
for (int i = 0; i < arr.length - 1; i++) {// 第一个循环是趟数
for (int j = 0; j < arr.length - i - 1; j++) {// 第二个循环是从当前数开始进行往后比较
if (arr[j + 1] < arr[j]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
Sort s = new Sort();
int arr[] = { 1, 10, 3, 6, 9, 7, 5, 4 };
s.BubbleSort(arr);
System.out.println(Arrays.toString(arr));//将数组以字符串形式输出
}
}
图片演示:(图片来源:https://zhuanlan.zhihu.com/p/42541704)