Как отсортировать массив с чередованием по два знака?
есть массив целых чисел, количество элементов массива кратное 4. Как отсортировать массив через два знака что бы шли два положительных элемента, затем два отрицательны (++--) и т.д.
Есть алгоритм сортировки по знаку +-+-+- и т.д
int С[n];
for (int i = 0, pi = 0, ni = 1; i < n; i++) {
if (A[i] >= 0) {
С[pi] = A[i];
pi += 2;
}
else {
С[ni] = A[i];
ni += 2;
}
}
memcpy(A, С, sizeof(int) * n);
Но как реализовать через два не знаю. Подскажите что-то
1. Отфильтровать положительные элементы в один новый std::vector, отрицательные в другой std::vector
2. Выводить группами по 4 элемента: 2 из первого вектора, 2 из второго