基本思想
冒泡排序属于交换类排序,两两比较,而后交换。排序过程如下:首先对位置0~N的数据从左到右两两比较,大的放后面,经过一轮的操作,N位置存放的是最大的数字;之后对位置0~N-1的数据从左到右两两比较,大的放后面,经过一轮的操作,N-1位置存放的是最大的数字;以此类推。
时间复杂度
O(n^2)
实例
对于一个int数组,请编写一个冒泡排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。
测试样例:
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
public int[] bubbleSort1(int[] A, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (A[j + 1] < A[j]) {
int temp = A[j];
A[j] = A[j + 1];
A[j + 1] = temp;
}
}
}
return A;
}