一文搞懂冒泡排序 C语言

   日期:2020-10-11     浏览:96    评论:0    
核心提示:#include<stdio.h>int *bubble(int a[],int len){// int len = sizeof(a)/sizeof(int); //这样写是错误的,因为a传进来的是个指针,sizeof(a)是8 for(int i=0;i<len-1;i++) for(int j=0;j<len-1;j++) if(a[j]>a[j+1]){ int t = a[j]; a[j] = a[j+1]; a[j+1] =
#include<stdio.h>

void bubble(int a[],int len){ 
// int len = sizeof(a)/sizeof(int); //这样写是错误的,因为a传进来的是个指针,sizeof(a)是8
	for(int i=0;i<len-1;i++)
		for(int j=0;j<len-1;j++)
			if(a[j]>a[j+1]){ 
				int t = a[j];
				a[j] = a[j+1];
				a[j+1] = t;
			}
//优化写法
// for(int i=0;i<len-1;i++){ 
// int flag = 0;
// for(int j=0;j<len-1-i;j++){//-i是因为后面已经排好了 
// if(a[j]<a[j+1]){ 
// flag = 1;
// int t = a[j];
// a[j] = a[j+1];
// a[j+1] = t;
// }
// }
// if(flag==0)
// break;//一次下来数组没有变化,则已完成排序
// }
}

void print (int a[],int len){ 
	for(int i=0;i<len;i++)
		printf("%d ",a[i]);
	putchar('\n');
}
main(){ 
	
	int a[]={ 1,3,5,9,2,4,10,8,7};
	int len = sizeof(a)/sizeof(int);
	bubble(a,len);
	print(a,len);
	
}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服