对于一个没有顺序的数组进行冒泡排序。
思想如下:
依次比较相邻的两个元素,如果左边的元素比右边的元素大,则把两个元素交换。
经过一轮比较后,则可以把最大的一个元素放到数组的最后面。
然后再依次比较剩下的元素。
public static void main(String[] args){
int[] arr = {8,6,15,49,6,3,5,1};
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 t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
}
冒泡排序的时间复杂度为 O(n²)