排序算法作为编程语言中最基础的算法,在很多高级语言中系统都封装了sort方法,并提供自定义比较方法排序。但是,这背后是怎么实现的你真的知道吗?接下来几篇就给大家讲一讲C/C++里面最基础的集中数组排序方法实现吧。

冒泡排序

冒泡排序:顾名思义就是向气泡冒出来一样,谁大谁出来,在数组排序里就是谁大谁往后走。就像当初老师给我们排队的时候一样,按身高将一个最高个从前挨个比一直往后排

假设现在有一个数组{50,26,74,60,12,1,100}冒泡排序算法是怎么做的呢?

前一个跟后一个去比较大小,如果前一个比后一个大,则前面的跟后面的交换位置,再继续往后比,知道数组结束。我们看代码实现:

我们看运行结果:

排序成功。这里需要注意的一点就是第二个循环位置的循环条件for (int j = 0; j < sizeof(arr)/sizeof(int)-1-i; j++)这里一定要注意每比较完一趟后,后面的数已经是最大的了,已经排好了,再进行下一趟的时候我们就不需要再去跟它们比较了。并且由于比较里面已经取了j+1这个下标一定记得在循环条件里减1,不然就会越界

附上原代码:

#include

#include

using namespace std;

int main()

{

int arr[7] = {50,26,74,60,12,1,100};

//这个循环式控制比较趟数,每趟都需要找出来一个最大的(除了已经排好的)

for (int i = 0; i < sizeof(arr)/sizeof(int)-1; i++)

{

//这个循环就是我在图示中表示的过程,最大的从前往后滚

for (int j = 0; j < sizeof(arr)/sizeof(int)-1-i; j++)

{

if(arr[j]>arr[j+1])

{

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp ;

}

}

}

//我们来输出一下看看排序成功没

for (int i = 0; i < sizeof(arr)/sizeof(int); i++)

{

cout<

}

system("pause");

return 0 ;

}

c++冒泡排序代码_C/C++基础之冒泡排序相关推荐

  1. c语言 hello world代码_C语言基础

    首先,还是从hello world开始. #include <stdio.h> int main(void) { printf("Hello Worldn"); ret ...

  2. 五十四、最基础的冒泡排序

    @Author: Runsen 排序可能是所有的算法中最最基础和最最常用的了.排序是一个非常经典的问题,它以一定的顺序对一个数组(或一个列表)中的项进行重新排序. 排序算法有很多种,每个都有其自身的优 ...

  3. c语言数组冒泡排序程序的解释,c语言指针数组冒泡排序代码

    在学习计算机编程的时候,最重要的就是多思考多练习,才能理解其中的原理.算法,下面ITmemo分享一段我学习c语言基础之后写的一段c语言指针数组冒泡排序代码,其实就是从常规代码改为指针方式进行数组排序而 ...

  4. python冒泡排序代码完整_用Python写冒泡排序代码

    python代码实现冒泡排序代码其实很简单,具体代码如下所示: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)ht ...

  5. 冒泡排序、冒泡排序动画、冒泡排序代码、冒泡排序教程

    冒泡排序.冒泡排序动画.冒泡排序代码.冒泡排序教程 点击下载代码 推箱子代码 碰撞检测穿马路.小人过马路 魔幻粒子.火焰动画 开心消消乐 16宫格的翻牌消除游戏 我的世界小人行走代码 超级玛丽 赣极方 ...

  6. 实现简单的Java冒泡排序代码

    冒泡排序基本介绍 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越 ...

  7. 冒泡排序的代码java,Java冒泡排序代码示例

    Java冒泡排序代码示例 代码如下:↓ package com.coding.learn; import java.util.Arrays; /** * @author 老菜鸟 * @version ...

  8. 懒癌患者的学习记录之JAVA冒泡排序代码

    冒泡排序 冒泡排序基本思路: 从第零位开始,依次与后一位进行比较并将较大的往后排较小的往前排.第一次循环就会将最大的值排在最后一位,第二次循环会将第二大的值排在倒数第二位,以此类推. JAVA冒泡排序 ...

  9. php中的冒泡排序实例,PHP实现冒泡排序的简单实例,php冒泡排序_PHP教程

    PHP实现冒泡排序的简单实例,php冒泡排序 1.首先我们必须弄清楚什么是冒泡排序,不理解冒泡排序的原理,我们就无法写出代码. 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小 ...

最新文章

  1. 1 项目里面如何打印log日志
  2. JavaScript实现RadixSort基数排序算法(附完整源码)
  3. submit与execute区别
  4. 图解集成学习中的梯度提升思想
  5. django-cookie的认识和基本使用与值查看
  6. OpenGL 学习 显示列表
  7. C#实现较为实用的SQLhelper
  8. 衡阳师范计算机专业分数线,衡阳师范学院计算机科学与技术专业2017年在河南理科高考录取最低分数线...
  9. Cadence PSpice 模型5:基于ABM库创建XC6209稳压芯片的PSpice模型实战图文教程
  10. 2020-11-18
  11. VMware安装VMware tools步骤
  12. html 静止横屏_移动端开发-禁止横屏
  13. C语言编程之一个最优美的图案
  14. 一张图说明白数据安全管理体系的规划
  15. ma5671怎么设置_电信/联通/移动,更换华为MA5671光猫详细教程
  16. ExoPlayer的使用之自定义UI界面
  17. 清华姚班和清华计算机系,到底什么是清华姚班,姚班和智班哪个更厉害?不妨来了解一下...
  18. ubuntu的pycharm或程序卡主,强制关闭方法
  19. Axure RP 10 10.0.0.3818 中文版 专业的快速原型设计工具
  20. nyoj82(迷宫寻宝)

热门文章

  1. 第8天:我用AI算法造了一些“网红”
  2. matplotlib-plot-绘制折线图
  3. java中最容易犯错的特殊字符
  4. Windows命令计算MD5与SHA1/256值
  5. 分库分表需要考虑的问题及方案
  6. LESSON 12.7 梯度提升树的参数空间与TPE优化
  7. 机器学习之单变量线性回归(Linear Regression with One Variable)
  8. 逻辑回归、决策树和支持向量机(I)
  9. 数据结构排序学习总结
  10. 编写测试用例的方法_适合小白的测试用例编写方法,一看就会!