bubsort.c

来自「单片机程序设计基础 随书光盘」· C语言 代码 · 共 30 行

C
30
字号
//冒泡排序算法

#define MAX  10	//元素的最大个数

int R[MAX+1]={0,5,2,9,12,3,1,4} ; //有效元素序号从1到n,其中R[0]单元作为机动单元
int n;		//元素的实际个数

BUBBLESORT ()		// 冒泡排序算法
{	int i,j; 		//定义辅助变量
	int swap; 		//定义交换操作标志
	for ( i=1;i<n ;i++) {	//处理n-1遍,产生n-1个“气泡”
		swap = 0 ; 		//初始化未交换标志
		for ( j=n;j>i;j--) 	//从“底下”往上进行
			if ( R[j] < R[j-1] ) {	//如果轻气泡在重气泡之下
				R[0] = R[j] ;
				R[j] = R[j-1];
				R[j-1] = R[0];
				swap = 1 ;//设立“已交换”标志
				}
		if ( !swap ) break ; //如果这一遍没有进行过交换操作,则提前结束
		}
}

main ( )
{   	
	n=7;		//实际元素个数有7个
	BUBBLESORT ( );	//冒泡排序算法
	while (1) ; //在这一行设置断点,中止程序运行,以便观察程序运行的结果 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?