描述
- 基本思想:循环地利用比较交换的操作,将第i大的元素归位;
- 平均时间复杂度:O(n2),最好时间复杂度:O(n),最坏时间复杂度:O(n2);
- 空间复杂度:O(1)
源码
//冒泡排序
void BubbleSort(vector<int>& nums) {
for (int i = nums.size()-1; i >= 0;--i) {
bool flag = true;
for (int j = 0; j < i; ++j) {
if (nums[j] > nums[j + 1]) {
swap(nums[j], nums[j + 1]);
flag = false;
}
}
if (flag) break;
}
}