改进的冒泡算法
2016-04-15 09:42
134 查看
在百度百科中的代码:
View Code
改进后:
前数: a[i]
后数: a[i + j]
外循环: 前数
从下标0开始;
内循环: 后数
从下标1开始;
交换(数据)代码:
(1) 把前数赋值给临时变量(temp);
(2) 把后数赋值给前数;
(3) 把临时变量赋值给后数
void bubble_sort(int a[], int n) { int i, j, temp; for (j = 0; j < n - 1; j++) for (i = 0; i < n - 1 - j; i++) { if(a[i] > a[i + 1]) { temp = a[i]; a[i] = a[i + 1]; a[i + 1] = temp; } } }
View Code
改进后:
void bubble_sort(int a[], int n) { int i, j, temp; for (i = 0; i < n; i++) { for (j = 1; j < n - i; j++) { if (a[i] > a[i + j] ) { temp = a[i]; a[i] = a[i + j]; a[i + j] = temp; } } printf("a[%d] = %d\n", i, a[i]); } }
前数: a[i]
后数: a[i + j]
外循环: 前数
从下标0开始;
内循环: 后数
从下标1开始;
交换(数据)代码:
(1) 把前数赋值给临时变量(temp);
(2) 把后数赋值给前数;
(3) 把临时变量赋值给后数
相关文章推荐
- 每天laravel-20160716|OutputStyle
- 用VS2010编译C++项目时出现这样的错误:
- 删除NSOperationQueue内所有Operation
- 监听NSBlockOPeration执行完毕
- 获取文件的属性,时间等等
- scrpy 豆瓣电影信息爬取
- 复习redis(二)
- 每天laravel-20160716|OutputStyle
- CocoaPods安装使用及配置私有库
- 每天laravel-20160717|Command-1
- 二叉树的中序遍历
- 获取路径的最后一个文件名lastPathComponent
- Centos 6.5 编译安装Nginx+php+Mysql
- 关于javascript中时间类型的转换
- php简单的分页原理
- C++中STL库中的assign函数
- stringByAppendingPathExtension拼接路径
- Swift在导航栏左侧或者右侧放置多个按钮
- 每天laravel-20160717|Command-1
- leetCode 145:Binary Tree Postorder Traversal