深入了解C语言冒泡排序优解

目录

  • 1:直接冒泡
  • 2:函数冒泡
  • 3:冒泡优化
  • 总结:
【深入了解C语言冒泡排序优解】
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
排序后结果·
深入了解C语言冒泡排序优解
文章图片


总结: 冒泡排序的核心部分就是双重嵌套循环,因此复杂度比较高。
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

    推荐阅读