c语言冒泡排序算法

案例一:

#include <stdio.h> int main(void){ int a[5]; printf("please input sort number:"); int k; for(k=0;k<5;k++) { scanf("%d",&a[k]);//int类型要加&符号取地址 } //开始排序 int n = sizeof(a)/sizeof(a[0]); printf("数组共%d个数\n",n); int w,j; //5个数要比较5-1=4次 3》1 for(w=0;w<n-1;w++){ //printf("w=%d\n",w); 循环4次 for(j=0; j<n-1-w;j++){ if(a[j]>a[j+1]){ //大的放后面 int temp; temp = a[j]; a[j] = a[j+1];//放最小的 a[j+1] = temp; } } } //输出 int i; printf("数组初始化为:"); for(i=0;i<n;i++){ printf("%d",a[i]); } printf("\n"); return 0; }

案例二:
#include <stdio.h>

int main(void)
{
	//冒泡排序实现
	int a[10] = {9,5,10,7,2,3,1,6,8,4};
	int i=0,j=0;
	int n = sizeof(a)/4;
	
	//外循环n-1轮
	for(i=0;i<n-1;i++){
		//控制冒泡
		for(j=n-1;j>i;j--){
			int temp;
			if(a[j]<a[j-1]){
				temp = a[j];
				a[j] = a[j-1];
				a[j-1] = temp;
			}
		}
	}
	//输出
	for(i=0;i<n;i++){
		printf("a[%d]=%d\n",i,a[i]);		
	}
	
	return 0;
}

  


  

posted @ 2018-02-24 11:26  王默默  阅读(1285)  评论(0编辑  收藏  举报