由红白蓝三种颜色的旗帜乱序出现,现需要排成蓝、白、红的顺序。
void func(char *pInput, int len)
{
int bflag = 0;
int wflag = 0;
int rflag = len - 1;
while (wflag <= rflag)
{
if (pInput[wflag] == 'w')
{
wflag++;
}
else if (pInput[wflag] == 'b')
{
swap(pInput[wflag], pInput[bflag]);
wflag++;
bflag++;
}
else
{
while (wflag < rfalg && pInput[rfalg] == 'r')
{
rflag--;
}
swap(pInput[wflag], pInput[rflag]);
rflag--;
}
}
}