• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++冒泡排序算法实例

C++冒泡排序算法实例

作者:果冻想 字体:[增加 减小] 来源:互联网 时间:2017-05-28

果冻想 通过本文主要向大家介绍了c++游戏开发实例,c++实例开发,linux c++项目实例,c++串口通信实例,c++程序实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

冒泡排序

大学学习数据结构与算法最开始的时候,就讲了冒泡排序;可见这个排序算法是多么的经典。冒泡排序是一种非常简单的排序算法,它重复地走访过要排序的数列,每一次比较两个数,按照升序或降序的规则,对比较的两个数进行交换。比如现在我要对以下数据进行排序:

10 3 8 0 6 9 2

当使用冒泡排序进行升序排序时,排序的步骤是这样的:

3 10 8 0 6 9 2  // 10和3进行对比,10>3,交换位置

3 8 10 0 6 9 2  // 10再和8进行对比,10>8,交换位置

3 8 0 10 6 9 2  // 10再和0进行对比,10>0,交换位置

……

3 8 0 6 9 2 10  // 这个时候,10到达了最右边,是最大的数字,此时,我们在从头开始进行对比

3 8 0 6 9 2 10  // 3小于8,所以不用交换位置

3 0 8 6 9 2 10  // 8大于0,所以交换位置

……

0 2 3 6 8 9 10

很简单,就是让大数沉入下面,小数慢慢上浮起来。冒泡排序的时间复杂度也为O(n^2)。

代码实现

#include <iostream>
using namespace std;
 
void BubbleSort(int arr[], int length)
{
     int temp;
     for (int i = 0; i < length; ++i)
     {
          for (int j = 0; j < length - i - 1; ++j)
          {
               if (arr[j] > arr[j + 1])
               {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
               }
          }
     }
}
 
int main()
{
     int arr[10] = {2, 4, 1, 0, 8, 4, 8, 9, 20, 7};
 
     BubbleSort(arr, sizeof(arr) / sizeof(arr[0]));
 
     for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)
     {
          cout<<arr[i]<<" ";
     }
     cout<<endl;
 
     return 0;
}
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C++ 将文件数据一次性加载进内存实例代码
  • C++ 面试题翻译电话号码实例代码
  • C++中实现把表的数据导出到EXCEL并打印实例代码
  • C++实例输入多行数字到数组
  • 实例讲解C++编程中对设计模式中的原型模式的使用
  • C++基础知识实例解析(一)
  • C++双向循环列表用法实例
  • C++读写INI配置文件的类实例
  • C++广播通信实例
  • C++进程间共享数据实例

相关文章

  • 2017-05-28C语言宏定义使用分析
  • 2017-05-28C++数据结构与算法之判断一个链表是否为回文结构的方法
  • 2017-05-28C++入门之基础语法学习教程
  • 2017-05-28关于C语言中参数的传值问题
  • 2017-05-28利用C/C++二进制读写png文件的方法示例
  • 2017-05-28深入解析int(*p)[]和int(**p)[]
  • 2017-05-28C++设计模式之访问者模式
  • 2017-05-28C++ 智能指针深入解析
  • 2017-05-28C/C++产生随机数函数简单介绍
  • 2017-05-28浅谈C语言中strcpy,strcmp,strlen,strcat函数原型

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 黑客帝国数字雨效果VC6源代码分享
    • C++ new/delete相关知识点详细解析
    • C语言控制台版2048小游戏
    • stl常用算法(Algorithms)介绍(stl排序算法、非变序型队列)
    • 如何在C语言的宏中使用类型关键字
    • Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
    • 算法学习入门之使用C语言实现各大基本的排序算法
    • 深入解析C++编程中线程池的使用
    • C++实现简单的职工信息管理系统
    • C++编程中逗号运算符和条件运算符的使用方法讲解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有