Line 10: | Line 10: | ||
int main() | int main() | ||
{ | { | ||
− | int i,n,pi,ni, count = 0; | + | int i, n, pi, ni, count = 0; |
int a[1000]; | int a[1000]; | ||
printf("Enter size of array: "); | printf("Enter size 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/2 \rfloor</math>
<syntaxhighlight lang="c">
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>
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/2 \rfloor</math>
<syntaxhighlight lang="c">
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>