冒泡排序思想

- 利用一张网络图

- 简单说,就是比对两个数,大的往上冒,所以叫冒泡
- 那么我们只需要一趟趟的比对所有的数就可以了
时间复杂度

- 每次循环的次数都减去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;
}
文章介绍了冒泡排序的基本思想,即通过相邻元素的比较和交换,使较大的数逐渐‘冒’到序列末尾。时间复杂度为O(n^2)。文中提供了C++代码示例,展示如何进行冒泡排序,并在每次遍历后调整范围。
1934

被折叠的 条评论
为什么被折叠?



