Не пойму как из одного стека разбить данные на два
На данный момент функция вычисляет и выводит отрицательные числа из стека. Подскажите, как можно реализовать, чтобы они не просто выводились, а заносились в два разных стека, в один отрицательные, в другой положительные. Прилагаю код функции:
void funcPlusMinus() {
Stack* newStack0 = new Stack;
Stack* newStack1 = new Stack;
if (isEmpty()) {
cout << "The stack is empty" << endl;
}
else {
Stack* temp = top;
do {
if (temp->item >= 0) {
cout << temp->item << " ";
}
temp = temp->down;
} while (temp != NULL);
cout << endl;
}
}