冒泡排序的java实现
使用冒泡排序法对一个元素个数为N的数组进行排序时,共需要进行N-1轮比较,每轮比较确定一个元素的位置,在第i轮比较的过程中,数组内元素间相互需要比较N-i次,即对于一个元素个数为9的数组来说,共需要比较8轮,第一轮元素间相互比较次数为9-1=8次,第二轮为9-2=7次,以此类推。冒泡排序的时间复杂度为O(n²)。
代码如下:
public class BubbleSort {
public static void main(String[] args) {
int[] nums = {34,25,13,6,77,2,97,350,138};
System.out.println("排序前:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + " ");
}
for (int i = 0; i < nums.length - 1; i++) { //外层循环控制轮数(N-1)
for (int j = 0; j < nums.length - i - 1; j++) { //内层循环控制每轮比较次数(N-i-1)
if(nums[j] > nums[j + 1]) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
System.out.println();
System.out.println("排序后:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + " ");
}
}
}
代码运行结果: