严格按照定义写的代码:
void bubbleSort(int array[], int length)
{
for (int i = 0; i < length; i++) {
for (int j = 1; j < length - i; j++) {
if (array[j-1] > array[j]) {
swap(array[j-1], array[j]);
}
}
}
}
void swap(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
网络优化版
void bubbleSort(int array[], int length) {
bool flag = true;//判断是否发生交换
while (flag) {
flag = false;
for (int j = 1; j < length; j++) {
if (array[j-1] > array[j]) {
swap(array[j-1], array[j]);
flag = true;
}
}
length --;
}
}