本篇文章主要梳理冒泡排序相关知识。
1、基本认识
(1)冒泡排序(Bubble Sort)一种交换排序,时间复杂度为O(n^2)。
(2)基本思想:两两比较相邻的两个数,如果两个数的大小顺序相反则进行交换,直到没有相反顺序的两个数为止。
(3)以升序冒泡为例:每趟排序过程中通过两两比较相邻元素,将小的数字放到前面,大的数字放到后面。
(4)代码实现
package com.hh.algorithm.sort;
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {99,3,4,1,3,4,5,6,7,3,1};
BubbleSort.bubble(arr);
for (int i=0; i<arr.length; i++){
System.out.print(arr[i]+" ");
}
}
public static void bubble(int[] arr) {
for (int i=0; i<arr.length; i++){
for (int j=0;j<arr.length-i-1; j++){
if (arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}
运行结果
本文为学习笔记,所参考文章均已附上链接,若有疑问请私信!
创作不易,如果对你有点帮助的话麻烦点个赞支持一下!
新手小白,欢迎留言指正!