@Gene, Your logic is specific to 0, 1 and 2.

Let me change the problem, there are three different symbols in an array,
separate them in O(n) with O(1) space.

Thanks,
Sathaiah

On Wed, Jun 30, 2010 at 8:07 AM, Gene <gene.ress...@gmail.com> wrote:

> On Jun 29, 3:26 pm, sharad kumar <sharad20073...@gmail.com> wrote:
> > how to sort an array containing 0's 1's and 2's in O(n)time and sorting
> > technique must be inplace
>
> #define M 3
>
> void sort(int *a, int n)
> {
>  int i, j, c[M];
>  for (j = 0; j < M; j++) c[j] = 0;
>  for (i = 0; i < n; i++) ++c[a[i]];
>  for (i = j = 0; j < M; j++)
>    while (c[j]--)
>      a[i++] = j;
> }
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algoge...@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to