欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c语言冒泡排序算法

程序员文章站 2022-04-28 10:05:51
#include int main(void){ int a[5]; printf("please input sort number:"); int k; for(k=0;ka[j+1]){ //大的放后面 int temp; temp = a[j]; a[j] = a[j+1];//放最小的 a... ......
案例一:

#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;
}