当前位置: 首页 > article >正文

c++ 冒泡排序

c++ 冒泡排序
冒泡排序是一种简单的排序算法,它通过重复遍历待排序的数列,比较每对相邻元素的大小,并在必要时交换它们的位置。这个过程会一直进行,直到没有需要交换的元素为止,这意味着数列已经排序完成。以下是用C++实现冒泡排序的代码示例:

#include <iostream>
#include <vector>

void bubbleSort(std::vector<int>& arr) {
    int n = arr.size();
    bool swapped;

    for (int i = 0; i < n - 1; ++i) {
        swapped = false;
        for (int j = 0; j < n - i - 1; ++j) {
            if (arr[j] > arr[j + 1]) {
                std::swap(arr[j], arr[j + 1]);
                swapped = true;
            }
        }

        // 如果在一次遍历中没有发生交换,说明数组已经有序,可以提前结束排序
        if (!swapped) {
            break;
        }
    }
}

int main() {
    std::vector<int> arr = {64, 34, 25, 12, 22, 11, 90};

    std::cout << "Original array: ";
    for (int num : arr) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    bubbleSort(arr);

    std::cout << "Sorted array: ";
    for (int num : arr) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在这个示例中,我们定义了一个名为bubbleSort的函数,它接受一个整数类型的std::vector作为参数。函数内部,我们使用两层嵌套循环来实现冒泡排序。外层循环控制排序的总轮数,内层循环负责在每一轮中进行相邻元素的比较和交换。如果在某一轮中没有发生任何交换,说明数组已经有序,可以提前结束排序。

在main函数中,我们创建了一个整数类型的std::vector并初始化了一些值。然后,我们调用bubbleSort函数对数组进行排序,并在排序前后分别打印数组的内容。


http://www.kler.cn/a/532425.html

相关文章:

  • Vue指令v-on
  • 使用Pygame制作“青蛙过河”游戏
  • 求职刷题力扣DAY34--贪心算法part05
  • FFmpeg源码:av_base64_decode函数分析
  • 【Pytorch和Keras】使用transformer库进行图像分类
  • sysbench压力测试工具mysql以及postgresql
  • 2502,索界面3
  • 第十八章 视图
  • wordpress安装
  • 【Git】一、初识Git Git基本操作详解
  • 阿里云 ROS 与 Terraform:它们的差异与如何选择适合的自动化工具?
  • llama.cpp的C语言API使用
  • Linux环境下的Java项目部署技巧:安装 Nginx
  • 复现论文“去模糊算法”
  • Python分享10个Excel自动化脚本
  • ubuntu ip设置
  • 电路研究9.2.2.1——合宙Air780EP中分组域相关命令分析
  • 仿真设计|基于51单片机的分贝检测与远程传输系统仿真
  • 回溯法-排列,组合
  • llama.cpp GGML Quantization Type
  • 5.角色基础移动
  • 云夹:重新定义你的书签管理体验
  • [mmdetection]fast-rcnn模型训练自己的数据集的详细教程
  • concurrentHasMap为什么不允许kv为null
  • 使用线性回归模型逼近目标模型 | PyTorch 深度学习实战
  • Go方法接收者中值类型接收者和指针类型接收者的对比