冒泡排序
来源:互联网 发布:上古卷轴5优化工具 编辑:程序博客网 时间:2024/06/05 16:27
冒泡排序
思路
每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。
(升序)每次取两位比较,越大越靠后,每一趟将最大数归位,执行n-1趟。
代码
#include <stdio.h>#define LEN 9int main(){ int i, j, temp; int a[LEN] = {2, 4, 5, 6, 3, 4, 2, 9, 10}; for (i = 0; i < LEN-1; i++) { for (j = 0; j < LEN-i; j++) { if (a[j] > a[j+1]){ temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } for (i = 0; i < LEN; ++i) { printf("%d ", a[i]); } return 0;}
时间复杂度
外层循环n-1次,内层循环n-i次,内层循环次数用等差数列求和(1+(n-1))*(n-1)/2 -> O(N^2)
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 多媒体编解码
- Linq to xml 查找所有的子节点
- android Activity启动模式--复习
- Java线程初步了解2-售票系统
- 使用category 为 AppDelegate 的代码分层
- 冒泡排序
- 润乾报表通过JS自带函数来实现自动计算中的四舍五入
- Ulua热更新提高 <三> 网络通信和ProtocolBuffer
- Android四大组件Service启动源码分析
- 面向社交网络用户的多维关联信息挖掘技术
- 2.1 QProcess调用外部程序获得实时输出
- Bearer
- 搭建自己的博客系统
- shell中set 指令的使用