can this be done in single pass in O(n) .????

On Thu, Jun 21, 2012 at 8:10 PM, rusty <dafc1...@gmail.com> wrote:

> guys this is my solution to the problem, it's a bit sloppy but as far as I
> checked it was working please have a go at it?
>
>
> #include <stdio.h>
> #include <stdlib.h>
>
> int main() {
>     int arr1[] = {0,-5,3,0,4,-6,-9};
>     int arr2[7];
>     int j = 0;
>     for ( int i = 0 ; i < 7 ; i++ ) {
>         //loop for -ve numbers
>         if ( arr1[i] < 0 )
>             arr2[j++] = arr1[i];
>
>     }
>
>     //accomodate all the zeros if any
>     for ( int i = 0 ; i < 7 ; i++ ) {
>         if ( arr1[i] == 0 )
>             arr2[j++] = arr1[i];
>     }
>     for ( int i = 0 ; i < 7 ; i++ ) {
>         //loop for +ve numbers
>         if ( arr1[i] > 0 )
>             arr2[j++] = arr1[i];
>
>     }
>     //print arr1 for reference
>     printf("\nInitially the array was");
>     for ( int i = 0 ; i < 7 ; i++ )
>         printf("\narr1[%d]: %d",i,arr1[i]);
>     printf("\n\n");
>     //print arr2
>     for ( int i = 0 ; i < 7 ; i++ )
>         printf("\narr2[%d]: %d",i,arr2[i]);
>
>     return 0;
>
> }
>
> On Wednesday, June 13, 2012 9:49:49 PM UTC+5:30, Krishna Kishore wrote:
>>
>> Given a array of integers both positive and negative and you need to
>> shift positive numbers to one side
>> and negative numbers to other side with the order intact.
>> ex. {-1,5,3,-8,4,-6,9} to {-1,-8,-6,5,3,4,9}. This should be done in O(n).
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/algogeeks/-/H8ANlbL0dmEJ.
>
> To post to this group, send email to algogeeks@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.
>



-- 
Cheers,

Nishant Pandey |Specialist Tools Development  |
npan...@google.com<gvib...@google.com> |
+91-9911258345

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@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