#define BLUE 'b'
#define WHITE 'w'
char color[]={'r','w','b','w','w','b','r','b','w','r','\0'};
SWAP(x, y)
{
char t;
t=color[x];
color[x]=color[y];
color[y]=t;
}
int main()
{
int wFlag=0;
int bFlag=0;
int rFlag=strlen(color)-1;
int i;
for(i=0;i<strlen(color);i++)
printf("%c",color[i]);
printf("\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("%c",color[i]);
printf("\n");
return 0;
}
那个不知道什么问题,改了一下可以运行