```
void sortColors(int A[], int n) {
int p0=0,p1=0,p2=n-1;
while(p1<p2 && p0<p2){
if(A[p1]==0 && A[p0]==1){
swap(A[p1],A[p0]);
}
if(A[p1]==2 && A[p2]!=2){
swap(A[p1],A[p2]);
}
if(A[p2]==2){
p2--;
}
if(A[p1]==1){
p1++;
}
if(A[p0]==0){
p0++;
}
}
}
void swap(int a, int b){
int temp=a;
a=b;
b=temp;
}
```