Не пойму как из одного стека разбить данные на два

На данный момент функция вычисляет и выводит отрицательные числа из стека. Подскажите, как можно реализовать, чтобы они не просто выводились, а заносились в два разных стека, в один отрицательные, в другой положительные. Прилагаю код функции:

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;
}

}


Ответы (0 шт):