我是靠谱客的博主 超级柚子,这篇文章主要介绍三色旗问题,现在分享给大家,希望可以做个参考。

//三色旗问题
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BLUE 'b'
#define WHITE 'w'
#define RED 'r'
#define SWAP(x,y){char temp;
temp = color[x];
color[x] = color[y];
color[y] = temp; }
int main()
{
	char color[] = { 'r','w','b','w','w','b','r','b','w','r','' };
	int wFlag = 0;
	int bFlag = 0;
	int rFlag = strlen(color) - 1;
	int i;
	for (i = 0; i < strlen(color); i++)
		printf_s("%c", color[i]);
	printf_s("n");
	while (wFlag <= rFlag)
	{
		if (color[wFlag] = WHITE)
			wFlag++;
		else if (color[wFlag] = BLUE)
		{
			SWAP(bFlag, wFlag);
			bFlag++; wFlag++;
		}
		else 
		{
			while (wFlag < rFlag && color[rFlag] == RED)
				rFlag--;
			SWAP(rFlag, wFlag);
			rFlag--;
		}
	}
for (i = 0; i < strlen(color); i++)
	printf_s("%c", color[i]);
printf_s("n");
return 0;
}

 

最后

以上就是超级柚子最近收集整理的关于三色旗问题的全部内容,更多相关三色旗问题内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部