学了这么久的C语言发现C语言的算法非常的多,特别是排序算法,在编程中的应用非常广泛,如:冒泡排序、选择排序、希尔排序 等等,

今天向大家介绍排序中的一种最基本的排序,“冒泡排序”

冒泡排序是排序中非常基本的排序,也是非常重要的排序

因为排序时像水泡一样一个一个向上冒故此得名

基本思想:

将下面的数据按照从小到大的顺序排列

27 36 32 18 5

排序前:

27 36 32 18 5

第一趟:

第1次:27<36不变

27 36 32 18 5

第2次:36>32交换

27 32 36 18 5

第3次:36>18交换

27 32 18 36 5

第4次:36>5交换

27 32 18 5 36

第二趟:

第1次:27<32不变

27 32 18 5 36

第2次:32>18交换

27 18 32 5 36

第3次:32>5交换

27 18 5 32 36

第三趟:

第1次:27>18交换

18 27 5 32 36

第2次:27>5交换

18 5 27 32 36

第四趟:

第1次:18>5交换

5 18 27 32 36

排序后的结果:

5 18 27 32 36

算法代码:

#include <stdio.h>
#include <stdlib.h>int main()
{int a[] = { 27, 36, 32, 18, 5};int temp;//中间变量int i, j;//用于for循环printf("排序前的数据:");for (i = 0; i < sizeof(a) / sizeof(int); i++)//打印排序前的数据{printf("%d ", a[i]);}printf("\n");//换行for (i = 0; i< sizeof(a) / sizeof(int) - 1; i++)//排序的趟数{for (j = 0; j < sizeof(a) / sizeof(int) - i - 1; j++)//每趟的次数{if (a[j]>a[j + 1])//当后一个数小于前一个数时{temp = a[j];//交换两个数a[j] = a[j + 1];a[j + 1] = temp;}}}printf("\n排序后的数据:");for (i = 0; i < sizeof(a) / sizeof(int); i++)//打印排序后的数据{printf("%d ", a[i]);}printf("\n\n");//换行system("pause");
}

执行结果:

排序算法《一》冒泡排序相关推荐

  1. Java排序算法:冒泡排序

    Java排序算法:冒泡排序 //创建数组并赋值int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};for(int i=0 ...

  2. 排序算法:冒泡排序、插入排序、选择排序、希尔排序

    相关博客: 排序算法:冒泡排序.插入排序.选择排序.希尔排序 排序算法:归并排序.快速排序 排序算法:桶排序.计数排序.基数排序 排序算法:堆排序 十大排序算法小结 一.冒泡排序: 1.算法原理: 冒 ...

  3. golang 排序_常用排序算法之冒泡排序

    周末无事,带娃之余看到娃娃在算数,想到了排序-尝试着把几种常用的排序算法跟大家聊一聊,在分析的后面我会用GoLang.PHP和JS三种语言来实现下. 常见的基于选择的排序算法有冒泡排序.插入排序.选择 ...

  4. 十大排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序

    冒泡排序.选择排序.插入排序.希尔排序.归并排序.快速排序.堆排序.计数排序.桶排序.基数排序的动图与源代码. 目录 关于时间复杂度 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 ...

  5. 数据结构与算法:十大排序算法之冒泡排序

    数据结构与算法:十大排序算法之冒泡排序 package array;import java.util.Arrays;//冒泡排序 //1.比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换 ...

  6. 【排序算法】冒泡排序、简单选择排序、直接插入排序比较和分析

    [排序算法]冒泡排序.简单选择排序.直接插入排序比较和分析 写在前面: 本文简单介绍了冒泡排序.简单选择排序.直接插入排序,并对这三种排序进行比较,入参都是80000个随机数,比较算法耗时.进一步,我 ...

  7. 排序算法(1)冒泡排序

    排序算法(1)冒泡排序 原理: 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 3. ...

  8. php编写冒泡排序算法_PHP排序算法之冒泡排序(Bubble Sort)实现方法详解

    本文实例讲述了PHP排序算法之冒泡排序(Bubble Sort)实现方法.分享给大家供大家参考,具体如下: 基本思想: 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换 ...

  9. 冒泡和快速排序的时间复杂度_常用排序算法之冒泡排序

    周末无事,带娃之余看到娃娃在算数,想到了排序-尝试着把几种常用的排序算法跟大家聊一聊,在分析的后面我会用GoLang.PHP和JS三种语言来实现下. 常见的基于选择的排序算法有冒泡排序.插入排序.选择 ...

  10. 排序算法之冒泡排序(Java版)

    排序:即使集合或数组中的元素有序化 本篇介绍最简单.最易掌握的冒泡排序 冒泡排序:         是一种简单的排序算法, 冒泡排序就像学生站队一样,要在老师的引导下,以某位同学位基准,其他学生按身高 ...

最新文章

  1. 学术前沿 | 基于深度学习的视觉三维重建研究总结
  2. 微生物绝对定量or相对定量,你选对了吗
  3. android通过php判断用户是否注册,android - 判断Token是否有效
  4. 利用解构赋值获取后端特定字段数据
  5. 购物网站注册页面html,电商购物网站 - 实现注册
  6. P1330 阳光封锁大学
  7. Mapreduce执行过程分析(基于Hadoop2.4)——(三)
  8. 微信服务号认证收费 :一场激进的自卫战
  9. win10系统IIS服务器配置详细教程,win10系统配置iis的操作方法
  10. php电子病历毕业设计,基于区块链的电子病历系统设计与实现(自制毕设)
  11. 古风一棵桃花树简笔画_唯美意境桃花古风句子
  12. Android 三大图片缓存原理、特性对比
  13. 关于c++中的一个母牛生小牛的问题详细解答与体会
  14. 鸿蒙之志蝼蚁岂知,争气励志语:生如蝼蚁,当有鸿鹄之志,命如纸薄,应有不屈之心...
  15. linux车牌识别,基于嵌入式Linux的电子车牌识别系统设计与实现
  16. 嘿,这里有你想要的Javascript本源
  17. 有计算机考试励志的文案,抖音冲刺高考励志文案
  18. 关于眼镜保护的几点做法
  19. 读懂select函数
  20. 剑指Offer——顺时针遍历矩阵

热门文章

  1. 猝灭剂BHQ-1 amine/1308657-79-5/BHQ-2 氨基/1241962-11-7者相关的物理性质还是有一定的区别,整理以下相关的数据进行对比。
  2. 舒舍分析现在的北京租房市场
  3. 网间进程的标识和端口分配机制
  4. oracle注册表重建,一次Windows 注册表中注册表项目丢失导致的Oracle 数据库启动问题。...
  5. 小米5怎么安android,小米5怎么插卡 小米5手机安装sim卡图文教程
  6. getsockopt和setsockopt
  7. 论文必备-五大学术文献资料推荐网站+免费下载知网、万方的论文资料
  8. 基于asp.net的网上选课系统的设计与实现
  9. 使用UltraISO制作Ubuntu16.04 U盘启动盘
  10. 专有钉钉下载(windows、IOS、Android)地址