数据结构(冒泡法)
来源:互联网 发布:淘宝排名突然没有了 编辑:程序博客网 时间:2024/06/06 21:03
bubble sort : 从后向前逐渐比较大小顺序,一个接一个的比较,最后列出排列顺序的方法。
如有4位数字:43 、21 、12、54 用bubble sort 排列结果
初始 第一趟 第二趟 第三趟
43 12 12 12
21 43 21 21
12 21 43 43
54 54 54 54
对任意n个数据都要进行N-1趟的排序,若在某一趟排序中没有记录位置的交换,说明该序列已经按照关键字
排序完了。(如 该例子的确第二和第三趟是不是重复的) ,为了优化代码,采用FLAG来处理!
bubblesort(R) //冒泡排序法
recdtype R[n] ;
{ int i, j, flag ;
recdtype temp;
for( i = 0 ; i< n-2; i++) //运行N-1趟排序
{ flag=true;
for( j = n-1 ; j>= i ; j--) //从后往前扫描
if( R[j+1].key < R[j].key ) //交换记录顺序
{ temp = R[j+1] ;
R[j+1] = R[j] ;
R[j] = temp ;
flag = false; // 置交换位置
}
if (flag) break; //本趟未发生交换
}
}
如有4位数字:43 、21 、12、54 用bubble sort 排列结果
初始 第一趟 第二趟 第三趟
43 12 12 12
21 43 21 21
12 21 43 43
54 54 54 54
对任意n个数据都要进行N-1趟的排序,若在某一趟排序中没有记录位置的交换,说明该序列已经按照关键字
排序完了。(如 该例子的确第二和第三趟是不是重复的) ,为了优化代码,采用FLAG来处理!
bubblesort(R) //冒泡排序法
recdtype R[n] ;
{ int i, j, flag ;
recdtype temp;
for( i = 0 ; i< n-2; i++) //运行N-1趟排序
{ flag=true;
for( j = n-1 ; j>= i ; j--) //从后往前扫描
if( R[j+1].key < R[j].key ) //交换记录顺序
{ temp = R[j+1] ;
R[j+1] = R[j] ;
R[j] = temp ;
flag = false; // 置交换位置
}
if (flag) break; //本趟未发生交换
}
}
- 数据结构(冒泡法)
- 数据结构 - 冒泡排序法详解
- 数据结构-排序: 交换排序(冒泡排序法)
- 数据结构-排序: 交换排序(冒泡排序法)
- PHP数据结构之冒泡法排序
- 数据结构学习之_冒泡排序法
- 【数据结构】-冒泡排序法Java实现
- 数据结构--排序算法--冒泡排序法
- 数据结构排序算法之冒泡排序法
- 冒泡排序 C数据结构
- 数据结构之冒泡排序
- 数据结构之冒泡排序
- 【数据结构】冒泡排序
- java数据结构冒泡算法
- 数据结构-冒泡排序算法
- 数据结构_冒泡排序
- C++数据结构--冒泡排序
- 数据结构 - 冒泡排序
- [转]WEB 打印的相关技术分析
- ASP.NET中实现Web打印的方案 (转)
- ASP.NET设置ie打印两法 (转)
- [转]ASP开发必备:WEB打印代码大全
- JavaScript的打印技术体会 (转)
- 数据结构(冒泡法)
- 3G集合
- 用 Hibernate 和 Spring 开发事务持久层
- 7款个性化的手机
- VB.NET实现DirectSound9 (7) 录音
- VB中数字转金额
- 当乞丐邂逅美女 (转)
- 世界名表(转载)
- 02.27.2005 民羽西体打球日记