冒泡排序:
时间复杂度为O(n^2)
1)普通的冒泡排序
for (int i = 0;i < num;i++) {
for (int j = 0;j < num-i-1;j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i = 0;i < num;i++) {
for (int j = 0;j < num-i-1;j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
flag = 1;
}
}
if (! flag) {
break;
}
}
int flag = num;
int k = num;
while (flag) {
flag = 0;
for (int i = 0;i < k-1;i++) {
if (arr[i] > arr[i+1]) {
int temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
flag = i+1;
}
}
k = flag;
}
我记得我原来学冒泡排序学了一天多,而且还都没有吃饭,现在想一想这是多么简单的问题,为毛我要花费那么多的时间 --!