• Rearrange array in-place to alternate positive and negative
arr = [1,2,-1,-2,3,4,-5,-4]
print("Original:", arr)
 
j = 0
for i in range(len(arr)):
    if arr[i] < 0:
        arr[i], arr[j] = arr[j], arr[i]
        j+=1
 
neg = 0
pos = j
while pos < len(arr) and neg < pos and arr[neg] < 0:
    arr[neg], arr[pos] = arr[pos], arr[neg]
    neg += 2
    pos += 1
 
print("Altered: ", arr)
#include <iostream>
 
using namespace std;
 
void swap(int &a, int &b) {
  int temp = a;
  a = b;
  b = temp;
}
 
int main() {
  int arr[] = {1, 2, -1, -2, 3, 4, -5, -4};
  int n = sizeof(arr) / sizeof(arr[0]);
 
  int j = 0;
 
  for (int i; i < n; i++) {
    if (arr[i] < 0) {
      swap(arr[i], arr[j]);
      j++;
    }
  }
 
  for (int i; i < n; i++) {
    cout << arr[i] << " ";
  }
}