冒泡排序图解
N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数。
for(int i=1;i<arr.length;i++){
for(int j=1;j<arr.length-i;j++){
}
时间复杂度 O(n²)
算法稳定性 稳定排序算法
代码:
public class BubbleSort {
public static void main(String[] args) {
//定义一个数组
int []arr= {24,99,58,66,44};
printarr(arr);
BoobleSort(arr);
System.out.println();
printarr(arr);
}
//冒泡排序
public static void BoobleSort(int []arr) {
for(int i =0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-1-i;j++) {
if(arr[j]>arr[j+1]) {
int temp =arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
}
//遍历功能
public static void printarr(int[]arr) {
System.out.print("[");
for(int x=0;x<arr.length;x++) {
if(x==arr.length-1) {
System.out.print(arr[x]+"]");
}else {
System.out.print(arr[x]+", ");
}
}
}
}