1.思想
把数组按照从小到大的方式进行排序,冒泡排序就是进行两个相邻的数进行比较的过程,以13 46 23 29 48 47 19 26为例
根据实例可知,该序列经过五趟比较后,就是有序的了。
2.代码(Java为例)
/**
* @ClassName BubbleSort
* @Description 冒泡排序
* @Author Kurong
* @Date 2019/12/21 15:38
* @Version 1.0
*/
public class BubbleSort {
public static void main(String[] args) {
int[] nums = {13, 46, 23, 29, 48, 47, 19, 26};
bubbleSort(nums);
print(nums);
}
/**
* 冒泡排序
* @param nums
*/
public static void bubbleSort(int[] nums) {
// n个数进行排序只需经过n-1趟
for (int i = 0; i < nums.length - 1; i++) {
// 已经调整到最后的元素不需要再进行比较了
for (int j = 0; j < nums.length - i - 1; j++) {
if (nums[j] > nums[j + 1]) {
int tmp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = tmp;
}
}
}
}
/**
* 循环打印数组中的值
* @param nums
*/
public static void print(int[] nums) {
for (int num: nums) {
System.out.print(num + "\t");
}
System.out.println();
}
}
3.时间复杂度
冒泡排序的平均时间复杂度为O(n^2),数组默认有序的情况就是O(n),最坏时间复杂度为O(n2)。
来源:CSDN
作者:Matrix_枯荣
链接:https://blog.csdn.net/weixin_44574121/article/details/103843723