Given an array A[] consisting 0s, 1s and 2s, write a function that sorts A[]. The functions should put all 0s first, then all 1s and all 2s in last.
Example
Input = {0, 1, 1, 0, 1, 2, 1, 2, 0, 0, 0, 1};
Output = {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2}
public static void DNFSort(int a[]){
int p1 = 0;
int p2 = 0;
int p3 = a.length-1;
while(p2 <= p3){
if(a[p2] == 0){
swap(a, p2, p1);
p1++;
p2++;
}
else if(a[p2] == 1){
p2++;
}
else if(a[p2] == 2){
swap(a, p2, p3);
p3--;
}
}
}
