冒泡排序法
来源:互联网 发布:沐沐是什么软件 编辑:程序博客网 时间:2024/06/03 15:40
思想:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
void swap(int a[], int n){ //一个有n个元素的数据排序 for(int i =0 ; i< n-1; ++i) { // n个数组元素需要循环比较n-1次 for(int j = 0; j < n-i-1; ++j) { // 每一次排序都比上次循环排序少一次 if(a[j] > a[j+1]) { int tmp = a[j] ; a[j] = a[j+1] ; a[j+1] = tmp; } } } }改进:在每趟排序中进行正向和反向两遍冒泡的方法一次可以得到两个最终值(最大者和最小者) ,从而使排序趟数几乎减少了一半。
void Bubble_2 ( int r[], int n){ int low = 0; int high= n -1; //设置变量的初始值 int temp,j; while (low < high) { for (j= low; j< high; ++j) //正向冒泡,找到最大者 if (r[j]> r[j+1]) { temp = r[j]; r[j]=r[j+1];r[j+1]=tmp; } --high; //修改high值, 前移一位
for ( j=high; j>low; --j) //反向冒泡,找到最小者 if (r[j]<r[j-1]) { temp = r[j]; r[j]=r[j-1];r[j-1]=temp; } ++low; //修改low值,后移一位 } }
阅读全文
0 0
- 【排序】冒泡排序法
- 常用排序-冒泡法排序
- 排序法之冒泡排序
- php排序&冒泡法排序
- 排序之冒泡排序法
- 排序算法--冒泡排序法
- 【PHP】冒泡排序法排序
- 排序算法--冒泡排序法
- 冒泡法排序
- 排序:冒泡法
- 冒泡排序法
- 冒泡法排序
- 冒泡法排序
- 冒泡排序法
- java 冒泡排序法
- 冒泡法排序
- 冒泡法排序
- 冒泡法排序
- python操作符 is,== 详解 (Trust Me)
- Dijkstra算法(一个节点到其他所有节点的最短路径)
- 从零开始前端学习[47]:如何使用javascript来操作行内样式或者属性浅析
- Hibernate 进阶(1)
- 1637
- 冒泡排序法
- Android 同一手机上安装不同版本debug和release同时存在,logo名称自定义
- [shell]自动交互
- FastDFS 文件服务器常见错误FAQ及 recv package size -1 != 10
- 数据挖掘使用了什么技术?
- 11/4/5java作业
- 高版本windows连接低版本windows共享打印机问题
- NanoPC-T2 支持USB Audio
- HDU