深入了解C语言冒泡排序优解
目录
- 1:直接冒泡
- 2:函数冒泡
- 3:冒泡优化
- 总结:
1:直接冒泡
#includeint main(){int i,j; int t; int a[]={10,9,8,7,6,5,4,3,2,1}; //此排序实现顺序排序int s=sizeof(a)/sizeof(a[0]); //求数组元素个数for(i=0; ia[j+1]){t=a[j]; a[j]=a[j+1]; a[j+1]=t; }}}for(i=0; i
2:函数冒泡#includevoid mppx(int a[],int s){int i,j; int t; for(i=0; ia[j+1]){t=a[j]; a[j]=a[j+1]; a[j+1]=t; }}}}int main(){int a[]={10,9,8,7,6,5,4,3,2,1}; //此排序实现顺序排序int i; int s=sizeof(a)/sizeof(a[0]); mppx(a,s); //冒泡排序函数,这里a是传递a数组首元素的地址&a[0]for(i=0; i
3:冒泡优化#includevoid mppx(int a[],int s){int i,j; int t; for(i=0; ia[j+1]){t=a[j]; a[j]=a[j+1]; a[j+1]=t; f=0; //当f=0时,表示数组还没有有序}}if(f==1)//当有序的时候就直接跳出来,提高效率{break; }}}int main(){int a[]={10,9,8,7,6,5,4,3,2,1}; int i; int s=sizeof(a)/sizeof(a[0]); mppx(a,s); for(i=0; i
排序后结果·
文章图片
总结: 冒泡排序的核心部分就是双重嵌套循环,因此复杂度比较高。
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- 深入理解Go之generate
- 我们重新了解付费。
- 拍照一年啦,如果你想了解我,那就请先看看这篇文章
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 【1057快报】深入机关,走下田间,交通普法,共创文明
- 操作系统|[译]从内部了解现代浏览器(1)