习题-38.c

来自「这些是数据结构结构的经典实现算法」· C语言 代码 · 共 24 行

C
24
字号
//本程序只给出了算法思想
//读者可以自己完善本程序
typedef enum {RED,WHITE,BLUE} color; //三种颜色 
void Flag_Arrange(color a[ ],int n)
//把由三种颜色组成的序列重排为按照红,白,蓝的顺序排列
{
	i=0;j=0;k=n-1;
	while(j<=k)
		switch(a[j])
	{
	case RED:
		a[i]<->a[j];
		i++;
		j++;
		break;
	case WHITE:
		j++;
		break;
	case BLUE:
		a[j]<->a[k];
		k--; //这里没有j++;语句是为了防止交换后a[j]仍为蓝色的情况
	}
}//Flag_Arrange

⌨️ 快捷键说明

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