here in O(n) and stable

void swap (int *a,int *b) {
    int t;
    t=*a;
    *a=*b;
    *b=t;
}

int main(void) {
   int a[] = {12, 34, 45, 9, 8, 90, 3},odd=0,even=0,n=7;
   while(odd<n && even < n) {
        if(a[even]%2==0){
            if(odd==even)
                odd++;
            even++;
        }
        else if(a[even]%2==1) {
            while(a[odd]%2 != 0 && odd < n+1) {
                odd++;
            }
            if(odd < n){
                swap(&a[even],&a[odd]);
                even++;
            }
        }
    }
    for(int i=0;i<n;i++)
        cout<<a[i]<<" ";
    getchar();
}



On Thu, Jul 21, 2011 at 11:55 PM, muruga vel <[email protected]>wrote:

>
> left=0;right=n-1;
> while(left<right)
> {
>      while(left<right && a[left]%2==0)
>           left++;
>     while(left<right && a[right]%2==1)
>           right--;
>     if(left<right)
>      {
>           swap(&a[l],&a[r]);
>            l++;
>            r--;
>     }
> O(n)
>
>
> On Thu, Jul 21, 2011 at 11:49 PM, Abhishek Sharma 
> <[email protected]>wrote:
>
>> small change in the pseudocode..
>>
>>
>> for (i=0 until i+ a[].length){
>>
>> if (*leftptr % 2 == 0)
>>      A2[i] = *leftptr ;
>>
>> else if (*rtptr % 2 == 0)
>>
>>      A2[i+a[].length-1] = *rtptr ;
>>
>> leftptr++;
>> rtptr--;
>>
>>
>> }
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 

Atul Purohit

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

Reply via email to