冒泡排序的优化版本

简介: 冒泡排序的优化版本
void bubbleSort(vector<int>& nums) {
 int n = nums.size();
 bool flag = false;
 for (int i = 0; i < n - 1; ++i) {
  flag = false;
  for (int j = 0; j < n - 1 - i; ++j) {
  if (nums[j] > nums[j + 1]) {
  //某一趟排序中,只要发生一次元素交换,flag就从false变为了true
  //也即表示这一趟排序还不能确定所剩待排序列是否已经有序,应继续下一趟循环
  swap(nums[j], nums[j + 1]);
  flag = true;
  }
 }
 //但若某一趟中一次元素交换都没有,即依然为flag = false
 //那么表明所剩待排序列已经有序
 //不必再进行趟数比较,外层循环应该结束,即此时if (!flag) break; 跳出循环
 if (!flag) break;
 }
目录
相关文章
|
搜索推荐 算法 索引
冒泡排序算法的实现和优化~
冒泡排序算法的实现和优化~
|
搜索推荐 算法
|
5月前
|
搜索推荐 算法 C++
|
7月前
|
搜索推荐 算法 JavaScript
探索冒泡排序:原理、实现与优化
探索冒泡排序:原理、实现与优化
|
7月前
|
搜索推荐 算法
常见排序算法以及冒泡排序的基础使用方法
常见排序算法以及冒泡排序的基础使用方法
44 0
|
搜索推荐 Java
冒泡排序算法的Java实现及优化
冒泡排序算法的Java实现及优化
|
机器学习/深度学习 人工智能 算法
快速排序的实现和优化~
快速排序的实现和优化~
|
C语言
如何优化快速排序?
如何优化快速排序?
35834 0
如何优化快速排序?
|
算法 搜索推荐 C语言
用或不用大O来优化代码(选择排序)
用或不用大O来优化代码(选择排序)
88 0
|
搜索推荐 算法
快速排序1(hoare版本)
快速排序1(hoare版本)
128 0