You do not have permission to edit this page, for the following reason:

The action you have requested is limited to users in one of the groups: Users, Administrators.


You can view and copy the source of this page.

Templates used on this page:

Return to Moving Negative Numbers to the Beginning of Array.

Makes the positive numbers appear after the negative numbers in an array.

Complexity <math>\theta(n)</math>

No. of swaps in the worst case = <math> \lfloor n</math>n/2

<syntaxhighlight lang="c">

  1. include<stdio.h>

int main() {

       int i,n,pi,ni, count = 0;
       int a[1000];
       printf("Enter size of array: ");
       scanf("%d",&n);
       printf("Enter numbers of array\n");
       for(i=0; i<n; i++)
       {
               scanf("%d",&a[i]);
       }
       ni =n-1;
       while(a[ni] >= 0)
               ni--;
       pi = 0;
       while(a[pi] <0)
               pi++;
       while(ni >pi)
       {
               int temp = a[pi];
               a[pi] = a[ni];
               a[ni] = temp;
               while(a[ni] >= 0)
                       ni--;
               while(a[pi] <0)
                       pi++;
       }
       for(i=0; i<n; i++)
       {
               printf("%d ", a[i]);
       }


} </syntaxhighlight>