1、007_sort_bubble.h

/***************************************************************
*版权所有 (C)2014,长沙铁信交通科技有限公司。
*
*文件名称:007_sort_bubble.h
*内容摘要:实现冒泡排序
*其它说明:
*当前版本:V1.0
*作   者:伍定湘
*完成日期:2014年9月26日
*
*修改记录1:
*   修改日期:2014年9月26日
*   版本号:V1.0
*   修改人:伍定湘
*   修改内容:创建
***************************************************************/#ifndef _SORT_BUBBLE_H_ //防止头文件被重复引用
#define _SORT_BUBBLE_H_/**************************************************************
头文件引用
**************************************************************/
#include "typedef.h"//引入内置类型重定义/**************************************************************
相关宏定义
**************************************************************//**************************************************************
相关结构体定义
**************************************************************//**************************************************************
本程序中出现的函数的声明
**************************************************************/
void sort_bubble(INT32 aUnsorted[], const INT32 iArrLen);#endif

2、007_sort_bubble.c

/***************************************************************
*版权所有 (C)2014,长沙铁信交通科技有限公司。
*
*文件名称:007_sort_bubble.c
*内容摘要:实现冒泡排序
*其它说明:
*当前版本:V1.0
*作   者:伍定湘
*完成日期:2014年9月26日
*
*修改记录1:
*   修改日期:2014年9月26日
*   版本号:V1.0
*   修改人:伍定湘
*   修改内容:创建
***************************************************************//**************************************************************
头文件引用
**************************************************************/
#include "typedef.h"//引入内置类型重定义
#include "007_sort_bubble.h"/**************************************************************
全局变量定义
**************************************************************//**************************************************************
函数实现
**************************************************************//**********************************************************************
*功能描述:实现冒泡排序
*输入参数:aUnsorted - 尚未排序的数组
*        iArrLen - 尚未排序的数组的长度
*输出参数:
*返回值:
*其它说明:
*修改日期           版本号         修改人        修改内容
* ---------------------------------------------------------------------
*2014年9月26日      V1.0          伍定湘        创建
***********************************************************************/
void sort_bubble(INT32 aUnsorted[], const INT32 iArrLen)
{INT32 iTemp, j, iOffset = 0;for (; iOffset < iArrLen; iOffset++){j = iArrLen;while (j > iOffset){if (aUnsorted[j] < aUnsorted[j - 1])//一遇到较小值就往左边送,使得最左边的值始终最小,类似于选择排序(最小值)和插入排序(反向扫描)的结合{iTemp = aUnsorted[j];aUnsorted[j] = aUnsorted[j - 1];aUnsorted[j - 1] = iTemp;}j--;}}
}

【算法】_010_冒泡排序相关推荐

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

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

  2. 7.使用php描述冒泡排序,PHP 数据结构 算法描述 冒泡排序 bubble sort

    PHP 数据结构 算法描述 冒泡排序 bubble sort 复制代码 代码如下: /** * 冒泡排序 bubble sort * * 原理:多次循环进行比较,每次比较时将最大数移动到最上面.每次循 ...

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

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

  4. 数据结构与算法之冒泡排序

    数据结构与算法之冒泡排序 目录 基本介绍 冒泡过程图解 代码实现 1. 基本介绍 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元 ...

  5. java算法:冒泡排序

    java算法:冒泡排序 冒泡排序:不断遍历文件,交换倒序的相邻元素,直到文件排好顺序.冒泡排序的主要优点是容易实现,冒泡排序通常会比选择排序.插入排序慢. 如,对EXAMPLE 字母进行排序:  E  ...

  6. 排序算法:冒泡排序算法优化实现及分析

    冒泡排序算法介绍 冒泡排序(Bubble Sort)一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序记录为止.这是书上的定义,感觉太弯弯肠子了.冒泡排序是几乎所有学 ...

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

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

  8. php二分法 冒泡 快速排序,PHP 常见算法【冒泡排序, 快速排序, 插入排序, 取舍排序, 二分法查找, .】...

    PHP 常见算法[冒泡排序, 快速排序, 插入排序, 选择排序, 二分法查找, ..] // 冒泡排序 function bubblesort($arr) { for($i=0,$j=count($a ...

  9. java冒泡排序经典代码6_经典排序算法之冒泡排序

    一,算法原理 冒泡排序是交换排序的一种,原理是通过比较相邻两个元素的大小,如果发现顺序不对,就交换这两个元素的位置.当第一次循环结束时,最大的元素就被筛选出来,然后进入第二次循环,以此类推,直到没有任 ...

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

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

最新文章

  1. wfs.js windows用法
  2. stm32 systick定时器
  3. Desktop: ERROR: Cannot set priority of namenode process 35122
  4. 迭代器模式(Iterator)
  5. ActiveMQ(三):ActiveMQ的安全机制、api及订阅模式demo
  6. junit linux命令行运行,如何从命令行在JUnit中运行测试用例?
  7. 汇编指令中英文释义 ASCII码字符表
  8. 从Exchange 通往Office 365系列(五)部署MailBox服务器
  9. js复制功能的有效方法总结
  10. 微信小程序 获取用户昵称、头像、手机号
  11. 高效上网教程---如何免费下载全网中英文论文
  12. 碰到斑马打印机下载字体问题
  13. ORAN专题系列-21:主要的玩家(设备商)以及他们各自的态度、擅长领域
  14. 图纸上标注的是实际尺寸吗_CAD比例画图时,图上标的尺寸,是实际尺寸还是图上尺寸啊?...
  15. android中热更新模式,Android热更新与开启Instant Run
  16. 以史为鉴!美国如何摧毁了日本的芯片产业?
  17. Capture ORCAD CIS导出原理库OLB文件
  18. 使用傲梅分区软件把win10/win8/win7装进U盘或者移动硬盘
  19. 在Mac安装一个即插即用的Win10系统-Win To Go安装教程【自存】
  20. 【整理】Python学习笔记1.2

热门文章

  1. C 语言进阶:造一个简单的浏览器
  2. WinRAR 5.91(64位) 去除广告弹框
  3. win8硬盘安装(win8硬盘格式)
  4. 目前国内在ARM CPU上广泛采用的三种嵌入式操作系统浅析
  5. Java常见应用——Json,二维码生成,加密解密应用
  6. 台湾校长高震东演讲震动国人
  7. 干货 | 电力大数据的应用场景与数据特征
  8. UWB技术是实现物联网位置大数据的基础
  9. 放假第二天的重大事故:忘记服务器root密码了,于是我一顿操作猛如虎。。。
  10. Picasso 实现图片的比例缩放