排序二之冒泡排序
2016-02-03 11:07
288 查看
冒泡排序通过多次比较和交换来实现排序:
1:对数组的各数据,依次比较相邻的两个元素的大小;
2:如果前面的数据大于后面的数据,就交换这两个数据经过第一轮多次比较排序后,便可把最小的数据排好。
3:然后再用同样的方法把剩下的数据组个进行比较,最后便可按照从小到大的顺序排好数组中各数据的顺序。
1:对数组的各数据,依次比较相邻的两个元素的大小;
2:如果前面的数据大于后面的数据,就交换这两个数据经过第一轮多次比较排序后,便可把最小的数据排好。
3:然后再用同样的方法把剩下的数据组个进行比较,最后便可按照从小到大的顺序排好数组中各数据的顺序。
#include<stdio.h> #include<stdlib.h> #include<time.h> #define SIZE 10 int i,j; void BubbleSort(int *a,int len) { int k,temp; for(i=0;i<len-1;i++) { for(j=len-1;j>i;j--) { if(a[j-1]>a[j]) { temp=a[j-1]; a[j-1]=a[j]; a[j]=temp; } } } } int main() { int shuzu[SIZE]; srand(time(NULL)); for(i=0;i<SIZE;i++) { shuzu[i]=rand()/1000+100; } printf("排序前的数组为:\n"); for(i=0;i<SIZE;i++) printf("%d ",shuzu[i]); printf("\n"); BubbleSort(shuzu,SIZE); printf("排序后的数组为:\n"); for(i=0;i<SIZE;i++) printf("%d ",shuzu[i]); printf("\n"); return 0; }
相关文章推荐
- C++中vector的用法实例解析
- Swift学习 ?和!
- ECMAScript 5.1 Edition DOC 学习笔记
- 学习笔记--树链剖分
- 白开水-2015年年终总结
- UVA227
- mapreduce程序加队列两种方式
- 自定义表单构件
- PyLucene学习之一
- iOS CAGradientLayer 详解
- unity5中AssetBundle相关
- 学习笔记--树链剖分
- 计算机网络——计算机网络基础知识总结
- Linux下Redis的安装和部署
- AVSpeechSynthesizer 语音合成器
- 排序算法
- [Eclipse问题]A class file was not written. The project may be inconsistent
- C++ string 字符串详解
- Cinder Columns
- 想成为嵌入式程序员应知道的0x10个基本问题