/************************************************************************/
/* 0表式白色,1表示红色,2表示蓝色 */
/************************************************************************/
void swap(int * p1,int *p2)
{
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
void Dutch(int *a,int p,int r)
{
int i = 1;
while(i<r)
{
if (a[i]==0)
{
swap(&a[i], &a[p]);
p++;
i++;
}
else
if(a[i]==2)
{
swap(&a[i],&a[r]);
r--;
}
else
i++;
}
}
void main() {
srand(time(NULL));
int a[n];
int i;
for (i=0;i<n;i++)
{
a[i] = rand()%3;
}
Dutch(a,0,n-1);
for (i=0;i<n;i++)
{
printf("%3d",a[i]);
}
}
/