冒泡排序
void bubbleSort(int a[],int n){
for (int i = 0; i < n - 1; i++) {
for (int j = n - 2; j >= i; j--) {
if (a[j] > a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
优化后的冒泡排序
void bubbleSort(int a[],int n){
bool flag = true; /* flag用来作为用来作为标记 */
for (int i = 0; i < n - 1 && flag; i++) { /* 若flag为false,表示不需要再排序了,则退出循环 */
flag = false; /* 初始为false */
for (int j = n - 2; j >= i; j--) {
if (a[j] > a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
flag = true; /* 如果有数据交换,则flag为true */
}
}
}
}