1.冒泡排序简介

冒泡排序算是排序算法里面一种比较基础和简单的算法,效率比较低,同时耗时也比较长,但是比较适合初学者去开拓思维,认识算法的起步。

2.原理

冒泡排序的原理就是将相邻的两个数进行比较,就像水里冒出来的泡泡一样,层次递进,将比较后的数据换位,实现排序,最后达到结尾(开头)是最大(最小)的元素,其他元素递增(减),本质上是循环的嵌套。

3.思路

首先我们可以定义一个数据量不大的数组,例如一个大小十个元素的数组,int a[10],然后我们应该思考怎样去将相邻两者相比并且换位,这里我们利用两个for循环嵌套去依次将数组里面的元素进行比较,还有要定义一个空变量去将元素数据互换,我们都知道在编程中无法直接将两个元素进行交换,另外需要一个变量去储存再进行交换,就好像两杯水,必须要有一个空杯子才可以将杯子里的水进行交换一样。还有要注意书写的格式,养成一个好的习惯是成功的基础。最后我们再用for循环输出我们利用冒泡排序算法排序后的数组,就大功告成了!接下来上代码

#include<stdio.h>
int main()
{int a[10];int i,j,t,n;//这里t到后面交换元素的时候用for (n = 0; n < 10; n++)scanf("%d", a[n]);for (i = 1; i <= 9; i++){for (j = 0; j <= 9 - i; j++)//利用双循环嵌套去比较相邻元素{if (a[j] > a[j + 1]){t = a[j];a[j] = a[j + 1];a[j + 1] = t;}}}printf("排序过后的顺序:\n");for (i = 0; i < 10; i++){printf("%-3d", a[i]);}printf("\n");
}

这就是冒泡排序的基本内容了,也是比较容易理解和学会的,作者水平有限,那就到这了

关于冒泡排序的总结:一组数中相邻的两个数进行比较之后再换位,最后达成一个这样的目的,首尾的数是最大或者最小,其余数呈阶梯状排列,就称为冒泡排序。

【C语言】之冒泡排序法(详解)相关推荐

  1. c语言冒泡排序(c语言冒泡排序法详解)

    请讲解下C语言的冒泡排序法 冒泡法,就是通过多次循环排序的一种方法. 第一次循环,让最小(最大)的值浮到第一位, 第二次循环,让剩余的数字中最小(最大)浮到第二位 依次类推. 这种方法就像水泡上浮一样 ...

  2. C语言冒泡排序法详解

    1)基本思路 每次将相邻的两个数比较,将小的调在前面 例:现在有6个数:9,8,5,4,2,0.第一次先将最前面的两个数9和8对调.第二次将第2个数和第3个数对调(9和5)······如此共进行5次得 ...

  3. R语言科学计数法详解:digits和scipen设置

    控制R语言科学计算法显示有两个option: digitis和scipen.介绍的资料很少,而且有些是错误的.经过翻看R语言的帮助和做例子仔细琢磨,总结如下: 默认的设置是: getOption(&q ...

  4. C语言:最大公约数详解

    C语言:最大公约数详解 Hello!小伙伴们大家好,几天不见了,今天给大家分享一下C语言中求最大公约数的三种方法.在开始分享前,让我们先来看看什么是最大公约数:最大公约数,也称最大公约数.最大公因子, ...

  5. 【原创-更新完毕】|日历拼图游戏的解决方案(C语言-进阶应用)-详解连载1

    [原创]|日历拼图游戏的解决方案(C语言-进阶应用)-详解连载2_zhuyi8120的博客-CSDN博客 [原创]|日历拼图游戏的解决方案(C语言-进阶应用)-详解连载3_zhuyi8120的博客-C ...

  6. 自定义服务器手游,绝地求生自定义服务器怎么玩?玩法规则及功能玩法详解

    绝地求生手游v1.0 游戏类型: 游戏语言:简体中文 射击 大逃杀 绝地求生 新游戏 大小:280.71MB 更新:2017-07-25 绝地求生自定义服务器怎么玩?这个是目前游戏中上线的全新服务器玩 ...

  7. CRC校验查表法详解

    CRC校验查表法详解 算法原理 基础计算 查表法原理及计算 查表法中的表 CRC校验中数据逆序 CRC校验中的其它参数 算法原理 CRC(Cyclic Redundance Check)循环冗余校验, ...

  8. 嵌入式c语言为什么变量定义在前面,嵌入式C语言数据类型和变量详解

    原标题:嵌入式C语言数据类型和变量详解 一般来讲,标准的C语言类型在嵌入式编译器中是合法的.但由于嵌入式控制器的受限环境.嵌入式c语言的变量和数据类型具有新的特征,这些特征体现在如下方面. 嵌入式C语 ...

  9. 用数据结构c语言写成绩排序,C语言数据结构 快速排序实例详解

    C语言数据结构 快速排序实例详解 一.快速排序简介 快速排序采用分治的思想,第一趟先将一串数字分为两部分,第一部分的数值都比第二部分要小,然后按照这种方法,依次对两边的数据进行排序. 二.代码实现 # ...

  10. 安卓miracast花屏_创维酷开电视多屏互动Miracast玩法详解

    创维酷开电视多屏互动Miracast玩法详解 安卓手机是可以通过多屏互动Miracast玩法直接让我们手机与创维酷开电视进行无线投屏的,但是有些创维电视的Miracast功能找不到怎么办? 创维酷开电 ...

最新文章

  1. Redis之七种武器
  2. Sublime text3!行首,行尾,批量编辑!
  3. 安装Pod时提示ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod...
  4. JAVA TCP通信基础篇——对发消息【如何解决输入流假死状态】
  5. vs怎么把文字超链接_「Excel技巧」Excel表格如何制作带超链接的导航目录
  6. 再谈和字体有关的几个问题
  7. 20160801java学习重点:函数
  8. 关于HTTPOXY漏洞的分析说明
  9. Android开发之设置铃声
  10. 装系统时出现获取硬盘分区失败 可能缺少硬盘驱动怎么办
  11. echarts折线图和柱状图结合绘制
  12. 【简约而不简单:神级代码的小秘密】| 第二章 栈
  13. 你知道CAD中的样条曲线的绘制方法吗?
  14. Shiro(1)--Shiro简介
  15. 本卦、互卦、变卦、错卦、综卦及作用
  16. linux 进程间界面嵌套,WPF 同一窗口内的多线程/多进程 UI(使用 SetParent 嵌入另一个窗口)...
  17. 【kubernetes系列学习】如何执行pod中没有的命令?
  18. Oracle 设置 密码可以重复使用 the password cannot be reused
  19. 反骨之Java是如何解决并发中的可见性问题的
  20. 2019DevFest | 从互联网前端到2B交付型前端-探索面向交付的实用前端技术栈

热门文章

  1. 读取Flash w25x64未响应 导致卡死的问题
  2. POJ 2686 Traveling by Stagecoach
  3. Linux常用命令——tac、bc
  4. (数据挖掘-入门-4)基于物品的协同过滤
  5. 在内核中实现URL重定向
  6. ubuntu linux 14.04 apache,在 Ubuntu 14.04 中Apache从2.2迁移到2.4的问题
  7. java+junit百科_JUnit介绍
  8. 现在无法停止通用卷设备_济宁变压器油道设备
  9. cstring判断包含字符串_Power Query中判断字符串中是否包含有字母的三种解决办法...
  10. c++数据格式化输出/字符串复制/字符串比较