冒泡排序思想
- 利用一张网络图
- 简单说,就是比对两个数,大的往上冒,所以叫冒泡
- 那么我们只需要一趟趟的比对所有的数就可以了
时间复杂度
- 每次循环的次数都减去1 ,所以是一个n -1 到1 的等差数列。 n-1 为核心代码执行次数
- 最后看阶数最高的n^2
代码实现
#include "bubblesort.h"
#include <QDebug>
void bubbleSort(vector<int>& arr, int l, int r) {
int s = l;
while(l < r) {
if(arr[s] > arr[s+1]) {
swap(arr[s], arr[s+1]);
}
s ++;
if(s == r){
r--;
s=l;
}
}
qDebug() << arr;
}