C++怎么实现冒泡排序_C++排序算法与冒泡排序实现

冒泡排序通过多轮遍历比较相邻元素并交换,使最大值逐步“浮”至末尾。1. 每轮遍历中,依次比较相邻两项,若前大于后则交换;2. 重复此过程,每轮缩小未排序部分范围;3. 加入标志位优化,若某轮无交换则提前结束。C++实现包含双重循环:外层控制轮数,内层执行比较与交换,时间复杂度最坏为O(n²),最好为O(n),空间复杂度O(1),稳定且适合小数据排序教学。

c++怎么实现冒泡排序_c++排序算法与冒泡排序实现

冒泡排序是一种简单直观的排序算法,适合初学者理解排序的基本逻辑。在C++中实现冒泡排序,关键在于通过多轮遍历数组,比较相邻元素并交换位置,使得每一轮结束后最大(或最小)的元素“浮”到末尾。

冒泡排序的基本原理

冒泡排序的核心思想是:重复地遍历待排序数组,每次比较相邻两个元素,若顺序错误就交换它们。这一过程持续进行,直到整个数组有序为止。

例如,对数组 {5, 3, 8, 4, 2} 进行升序排序:

第一轮:比较每对相邻元素,最大值 8 移动到末尾第二轮:忽略最后一个元素,继续比较,次大值 5 移动到倒数第二位重复此过程,直到所有元素有序

C++中的冒泡排序实现

以下是一个标准的冒泡排序C++实现,支持整型数组排序:

立即学习“C++免费学习笔记(深入)”;

#include using namespace std;

void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; ++i) {// 使用标志位优化:如果某轮没有发生交换,说明已有序bool swapped = false;for (int j = 0; j arr[j + 1]) {swap(arr[j], arr[j + 1]);swapped = true;}}// 如果没有交换发生,提前结束if (!swapped) break;}}

void printArray(int arr[], int n) {for (int i = 0; i < n; ++i)cout << arr[i] << " ";cout << endl;}

int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90};int n = sizeof(arr) / sizeof(arr[0]);

cout << "排序前: ";printArray(arr, n);bubbleSort(arr, n);cout << "排序后: ";printArray(arr, n);return 0;

}

算法特点与适用场景

冒泡排序虽然实现简单,但时间复杂度较高:

时间复杂度:最坏和平均情况为 O(n²),最好情况(已有序)为 O(n),得益于优化标志空间复杂度:O(1),只使用常量额外空间稳定性:稳定排序,相等元素的相对位置不会改变

由于效率较低,冒泡排序一般不用于大规模数据排序,更多用于教学或小数据集的简单排序任务。

基本上就这些,理解了冒泡过程和双重循环的控制逻辑,就能轻松掌握这个基础排序算法。实际开发中可优先使用 std::sort,但在学习阶段动手实现冒泡有助于理解算法本质。

以上就是C++怎么实现冒泡排序_C++排序算法与冒泡排序实现的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1482918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
C++中的命名返回值优化(NRVO)是什么_C++编译优化与命名返回值优化解析
上一篇 2025年12月19日 06:48:17
c++如何使用pair_C++键值对结构与应用场景示例
下一篇 2025年12月19日 06:48:33

相关推荐

  • 百度文库官网个人中心登录入口 百度文库登陆个人中心地址

    百度文库个人中心登录入口位于官网首页右上角,1、访问https://www.php.cn/link/a6d01d2e4f6cc4bb41090e25bcc1fdcf进入官网;2、点击右上角“登录/注册”按钮;3、输入手机号或百度账号完成验证登录;4、登录后点击个人头像进入个人中心;5、在个人中心可使…

    2026年9月6日
    000
  • 极光影票在线客服怎么联系_极光影票联系客服快速通道

    极光影票客服难联系,可通过官方电话、平台在线客服、关联票务平台申诉或社交媒体私信等途径反映退票等问题,建议保留订单信息以便维权。 如果您在使用极光影票服务时遇到问题,但无法找到有效的客服联系方式,则可能是由于官方沟通渠道变更或信息未及时更新。以下是联系极光影票客服的几种可行方式: 一、通过官方电话联…

    2026年9月6日
    000
  • 百度文库官网入口网页版登陆 百度文库网页版在线使用官方入口

    百度文库网页版是学习与办公资料获取的高效平台,1、通过官方网址https://wenku.baidu.com/进入,确保安全可靠;2、支持文档在线浏览,无需下载即可流畅阅读多种格式文件;3、资源分类齐全,覆盖教育、职场、法律等多个领域,便于精准查找;4、具备高效检索功能,输入关键词即可快速匹配目标内…

    2026年9月6日
    000
  • Spring Cache 中如何优雅地添加常量到 Key?

    Spring Cache Key 中优雅地集成常量 在使用 Spring Cache 时,如何在 Key 中有效地添加常量值?本文提供两种简洁的解决方案: 方案一:利用 Bean 属性 将常量值定义为 Bean 的属性,并在 @Cacheable 注解的 key 属性中引用该 Bean 属性。 方案…

    2026年9月6日
    000
  • 小米SU7荣获第五届《汽车风云盛典》风云2024·智联车

      近日,小米汽车宣布其首款智能电动汽车小米su7在第五届《汽车风云盛典》中荣获“风云2024·智联车”奖项。该盛典由中央广播电视总台主办,以“数智”为主题,旨在评选出中国市场消费者认可、具有市场指导性并体现未来趋势的年度车型。小米su7从31款入围车型中脱颖而出,经过企业报名、市场筛选、专家评审等…

    2026年9月6日
    000
  • 美团0元喝奶茶活动入口_美团免费奶茶活动参与方法

    答案:通过搜索“惊喜333”或“惊喜666”进入活动页领取0元券,参与“膨胀红包”抽奖、在“神抢手”专区抢购低价券,叠加津贴实现免单,或关注明星联动活动领取通兑券,即可免费喝奶茶。 如果您想在美团享受免费奶茶,但不清楚如何获取相关优惠,可能是错过了活动入口或领取方式。以下是参与美团0元喝奶茶活动的具…

    2026年9月6日
    000
  • framework4.0怎么安装 下载教程指南

    framework4.0怎么安装 下载教程指南framework4.0怎么安装 下载教程指南framework4.0怎么安装 下载教程指南framework4.0怎么安装 下载教程指南

    windows系统在运行某些程序或安装软件时,经常会提示需要.net framework 4.0环境支持。若系统中未安装该组件,可能导致应用程序无法启动或运行异常。本文将为你提供详细的.net framework 4.0安装指南,帮助你轻松解决因缺少运行库而导致的问题。 一、.NET Framewo…

    2026年9月6日 用户投稿
    100
  • 正确在Groovy脚本中调用返回URL的方法并用于Shell命令

    本文旨在解决在groovy脚本中调用返回url的方法后,如何在后续的shell命令中正确使用该url的问题。通过详细阐述groovy字符串插值的机制,并提供正确的代码示例,帮助读者避免“could not resolve host”等常见错误,确保动态生成的url能够被shell命令正确解析和执行。…

    2026年9月5日
    400
  • 为什么iPhone6Plus升级后屏幕失灵如何强制重启?按电源键和主页键10秒重启

    首先尝试强制重启设备,若无效则充电30分钟后再试,最后可通过连接电脑使用恢复模式重新安装系统固件以解决iPhone 6 Plus升级后屏幕失灵问题。 如果您的 iPhone 6 Plus 在系统升级后出现屏幕失灵的情况,可能是由于系统临时故障或软件冲突导致设备无响应。以下是解决此问题的步骤: 本文运…

    2026年9月5日
    000
  • 抖音的群怎么私信一个人?私信一个人能看到吗?

    在使用抖音群聊时,不少用户都希望了解如何单独向某位成员发送私信。这不仅涉及具体操作流程,还与隐私设置密切相关。那么,究竟该如何在抖音群里私信一个人呢? 一、如何在抖音群聊中私信某人? 进入目标群聊页面首先确认你已加入该群。打开抖音App,点击底部“消息”标签,找到并进入你想操作的群聊界面。群聊会话通…

    2026年9月5日
    000
  • 商络电子:2024年净利同比预增85.34%-126.52%

    商络电子发布2024年业绩预告:净利润同比预增85.34%-126.52% ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 商络电子(股票代码: 此处应补充股票代码)今日发布公告,预计2024年度实现营业收入620亿元至680亿元,同比增长2…

    2026年9月5日
    500
  • 百度小说阅读字体大小怎么改_百度小说阅读字体调节步骤

    在百度小说阅读界面点击屏幕调出菜单,进入“设置”调整“字号”滑块可实时改变字体大小;2. 开启“系统字体”选项后,APP将同步手机系统字体偏好;3. 通过iPhone“设置”→“显示与亮度”→“文字大小”调节系统级字体,间接影响百度小说显示效果。 如果您在阅读百度小说时觉得字体过小或过大影响阅读体验…

    2026年9月5日
    000
  • 淘票票购买电影票可以改签吗_淘票票电影票改签规则说明

    淘票票电影票在符合规则的前提下可改签,需满足场次支持、时间允许及会员等级条件。首先确认订单是否具备“改签”按钮,仅支持改签的票种可在APP内自助操作,选择同一影院的新场次并支付手续费与票价差额。改签须在电影开场前完成:24小时前收3元/张,2-24小时内收5元/张,30分钟至2小时收8元/张,30分…

    2026年9月5日
    200
  • 雷军千万年薪挖角天才来自DeepSeek

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 国产大模型应用DeepSeek,近日强势登顶苹果中国及美国区应用商店免费下载榜,在美国区甚至超越ChatGPT,引发业界关注。 DeepSeek的成功标志着AI大模型应用正走向普惠化,加速AI应…

    2026年9月5日
    100
  • 天眼查app怎么查公司是不是注销状态_天眼查公司注销状态查询

    首先通过天眼查App查看企业主页的工商登记状态标签,若显示“注销”或“已注销”,则表明公司法人资格终止;接着在工商信息栏目核对“登记状态”是否为注销,并查看注销日期;最后登录国家企业信用信息公示系统,选择注册地后查询该公司状态,若官方系统也显示注销,则确认公司已正式退出市场。 如果您想确认某家公司是…

    2026年9月5日
    100
  • 喜马拉雅app怎么看自己关注的话题_喜马拉雅app已关注话题查看路径

    首先通过首页话题入口进入话题广场并切换至“关注”标签页查看已关注内容,其次可在个人中心的“关注”列表中查找话题分类,最后可通过消息通知或搜索功能定位具体话题。 如果您在使用喜马拉雅App时,希望查看自己关注的话题内容,但发现入口不够明显,可能是由于界面布局调整导致操作路径变化。以下是几种可行的查看方…

    2026年9月5日
    000
  • 蓝桥云课之新手入门指南

    蓝桥云课之新手入门指南蓝桥云课之新手入门指南蓝桥云课之新手入门指南蓝桥云课之新手入门指南

    第一种,就是网页版的linux 蓝桥ROS课程也是这种模式: 蓝桥云课ROS机器人发布5年啦(原实验楼ROS机器人在线云实践课程) 环境是16.04 代码语言:javascript代码运行次数:0运行复制 #includeint main(){ printf(“Hello, Shiyanlou.”)…

    2026年9月5日 用户投稿
    100
  • 百度地图怎么离线导航_百度地图离线导航使用方法

    首先打开百度地图,通过个人中心或常用功能入口进入离线地图,下载全国基础包及目标省市地图包,完成后在导航设置中启用离线优先模式,即可在无网环境下正常使用导航功能。 如果您计划前往网络信号不佳或无网络覆盖的区域,提前下载好离线地图和导航包可以确保您在无网状态下正常使用导航功能。以下是百度地图实现离线导航…

    2026年9月5日
    100
  • 喜马拉雅app为什么不能用微信登录了 喜马拉雅app微信登录方式调整说明

    首先检查网络连接与服务器状态,确认设备联网正常且喜马拉雅无服务维护;接着清除App缓存数据,重启应用;然后在微信中重置对喜马拉雅的授权权限;更新喜马拉雅至最新版本以兼容微信SDK;最后检查并开启喜马拉雅内的微信登录开关。 如果您尝试使用微信登录喜马拉雅App,但发现无法正常授权或跳转失败,则可能是由…

    2026年9月5日
    500
  • 死磕 IO 流?你都磕对地方了么

    死磕 IO 流?你都磕对地方了么死磕 IO 流?你都磕对地方了么死磕 IO 流?你都磕对地方了么死磕 IO 流?你都磕对地方了么

    在日常开发中,我们经常会接触到 io 流,例如在处理文件上传下载、数据传输以及设计模式等方面。io 流是这些操作的基础,因此今天我们将深入探讨 java 中 io 流的相关知识点。 本文将涵盖以下主要内容: 文件对象流概述字节流与字符流文件对象与文件路径Java 标准库 java.io 提供了 Fi…

    2026年9月5日 用户投稿
    200

发表回复

登录后才能评论
关注微信