七大排序算法系列之冒泡排序
来源:互联网 发布:javascript: 编辑:程序博客网 时间:2024/06/02 10:28
冒泡排序算法介绍
1.共进行n-1趟排序,第i趟共有n-i次比较。比较相邻的前后二个数据,如果后面数据小于前面的,则交换。
2.一趟排序之后,最大的一个数就“沉”到数组第n-1个位置。
3.如果i<n-1,重复前面两步,否则排序完成。
根据定义代码如下:
void bubble_sort_1(int *array,int n){for(int i=0;i<n-1;i++)//共n-1趟排序for(int j=0;j<n-1-i;j++)//第i趟排序,共n-i次比较if(array[j+1]<array[j]){//如果后面的小int temp = array[j+1];array[j+1] = array[j];array[j] = temp;}}
第二种方法:设置一个标志flag,如果该趟发生了交换,则为true,否则为false。
void bubble_sort_2(int *array,int n){int i = n-1 ;bool flag = true ;//设置标志flagwhile(flag){//如果有一趟没有发生交换,说明排序已经完成flag = false ;for(int j=0;j<i;++j)if(array[j+1]<array[j]){//如果这一趟发生了交换,则为trueflag = true;int temp = array[j+1] ;array[j+1] = array[j] ;array[j] = temp;}--i;}}
- 七大排序算法系列之冒泡排序
- 七大排序算法之冒泡排序
- 数据结构和算法系列5 七大排序之冒泡排序和快速排序
- 七大排序算法系列之希尔排序
- 七大排序算法系列之快速排序
- 七大排序算法系列之归并排序
- 七大排序算法系列之堆排序
- 七大经典算法之冒泡排序
- 排序算法系列之冒泡排序
- 排序算法系列之冒泡排序
- 排序算法系列-交换之冒泡排序
- 算法之七大排序
- 七大排序算法系列之简单选择排序
- 七大排序算法系列之直接插入排序
- 数据结构和算法系列8 七大排序之归并排序
- 基础算法系列(五)排序算法之冒泡排序
- 排序算法之七大排序算法总结
- 白话经典算法系列之八 七大排序总结篇
- Easy Widgets拖拽框架
- android 人脸识别
- Winform开发框架之通用人员信息管理
- VB连接SQL数据库驱动部分
- android短彩信幻灯片异步加载机制
- 七大排序算法系列之冒泡排序
- YUV格式详解
- Linux rpm 命令参数使用详解[介绍和应用]
- C++数据类型及大小
- 未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7
- MySQL索引背后的数据结构及算法原理
- 服务器磁盘空间已满造成:SSH传输文件报错
- VS2008发布Release版本
- 广州传智播客0226java基础班班级活动——大夫山一日游