冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求,如果不满足就让它俩互换。
代码:
public int[] bubbleSort(int[] a) {
int n = a.length;
if (n<=1) return a;
//提前退出冒泡循环的标志
boolean flag = false;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n-i-1; j++) {
if (a[j]>a[j+1]) {//
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
flag = true;//表示有数据交换
}
}
if (!flag) break; //没有数据交换(说明已排好序无需再进行冒泡),提前退出
}
return a;
}