前言
本文章讲解冒泡排序
一、什么是冒泡排序
它是一种计算机科学领域的较简单的排序算法,它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
二、使用案例
2.1 前期准备
public class Main {
public static void main(String[] args) {
int[] arr = { 3, 5, 8, 6, 7, 2, 1, 9, 0, 4 };
}
在main方法中创建一个将要被排序的数组。
2.2 方法
代码如下(示例):
public static int[] bubbleSort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int k = 0; k < array.length - 1 - i; k++) {
if (array[k] > array[k + 1]) {
int temp = 0;
temp = array[k];
array[k] = array[k + 1];
array[k + 1] = temp;
}
}
}
return array;
}
外层的for循环遍历到数组的长度-1个,内存的循环遍历数组的长度-1-i次,因为外层循环每执行完一次,排在长度-1-i的数字已经是排好的元素,原因是在内层循环中会检查每个相邻元素的大小,如果下标为k的数组元素大于下标为k+1的数组元素,则交换位置,否则不换。
2.3 执行结果
public class Main {
public static void main(String[] args) {
int[] arr = { 3, 5, 8, 6, 7, 2, 1, 9, 0, 4 };
System.out.println("排序前:" + Arrays.toString(arr));
bubbleSort(arr);
System.out.println("排序后:" + Arrays.toString(arr));
}
public static int[] bubbleSort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int k = 0; k < array.length - 1 - i; k++) {
if (array[k] > array[k + 1]) {
int temp = 0;
temp = array[k];
array[k] = array[k + 1];
array[k + 1] = temp;
}
}
}
return array;
}
}
结果如图:
总结
以上就是冒泡排序的实现过程及案例。