using System;
public class Test
{
static void Main(string[] args)
{
int[] newInt = new int[] { 5, -2, -1, -4, -20, 6, 7, -14, 15, -16, 8, 9, 10 };
int size = 12, i= 0; // or newInt.Length
int left = 0, right = newInt.Length-1;
while (left < right) {
if (newInt[left] < 0 && newInt[right] > 0) {
int temp = newInt[left];
newInt[left] = newInt[right];
newInt[right] = temp;
right--;
left++;
continue;
}
if (newInt[left] > 0) {
left++;
}
if (newInt[right] < 0) {
right--;
}
}
for (i = 0; i < newInt.Length; i++)
{
Console.Write(newInt[i]);
Console.Write(" ");
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgICAgIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgICAgICB7CiAgICAgICAgICAgIGludFtdIG5ld0ludCA9IG5ldyBpbnRbXSB7IDUsIC0yLCAtMSwgLTQsIC0yMCwgNiwgNywgLTE0LCAxNSwgLTE2LCA4LCA5LCAxMCB9OwogICAgICAgICAgICBpbnQgc2l6ZSA9IDEyLCBpPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yIG5ld0ludC5MZW5ndGgKCiAgICBpbnQgbGVmdCA9IDAsIHJpZ2h0ID0gbmV3SW50Lkxlbmd0aC0xOwogICAgd2hpbGUgKGxlZnQgPCByaWdodCkgewogICAgICAgIGlmIChuZXdJbnRbbGVmdF0gPCAwICYmIG5ld0ludFtyaWdodF0gPiAwKSB7CiAgICAgICAgICAgIGludCB0ZW1wID0gbmV3SW50W2xlZnRdOwogICAgICAgICAgICBuZXdJbnRbbGVmdF0gPSBuZXdJbnRbcmlnaHRdOwogICAgICAgICAgICBuZXdJbnRbcmlnaHRdID0gdGVtcDsKICAgICAgICAgICAgcmlnaHQtLTsKICAgICAgICAgICAgbGVmdCsrOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKG5ld0ludFtsZWZ0XSA+IDApIHsKICAgICAgICAgICAgbGVmdCsrOwogICAgICAgIH0KICAgICAgICBpZiAobmV3SW50W3JpZ2h0XSA8IDApIHsKICAgICAgICAgICAgcmlnaHQtLTsKICAgICAgICB9CiAgICB9CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuZXdJbnQuTGVuZ3RoOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGUobmV3SW50W2ldKTsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGUoIiAiKTsKCiAgICAgICAgICAgIH0KCiAgICAgICAgfQp9