2013-12-02 2 views
0

Я пытаюсь реализовать класс SharingStacks, который реализует два стека Stack a и Stack b, этот класс содержит все функции одного класса стека (т.е. push, pop, empty и т. Д.).), за исключением того, что этот класс содержит TWO Stacks, совместно использующий статический массив ONE.Использование стеков и статических массивов

У меня он идет поп и толчок и т. Д. Но мне нужно выяснить способ, чтобы, когда я нажимаю Stack, я не переопределяю другой стек. т. е. если S [4] содержит Stack a element, я не мог бы нажать Stack b и переопределить. Я пытаюсь логически рассуждать о том, как это сделать. Но я не могу понять это. Какие-либо предложения?

+0

Простое решение - дублируйте каждый метод: pushA и pushB, popA и popB ... Есть более опрятные варианты, но этот работает без изменения вашего текущего подхода. – boisvert

+0

@boisvert Вы имеете в виду дублировать их в структуре? – user3059197

ответ

0

вам нужны еще два индекса, конец стека a и конец стека b. Когда вы нажимаете на любой стек, убедитесь, что вы не наступаете на конец другого стека. Затем после нажатия вы увеличиваете конечный индекс

+0

Можете ли вы уточнить? – user3059197

+0

Что такое протектора – user3059197

+0

Я внес некоторые коррективы в свои функции и предоставил детали, поэтому надеюсь, что вы увидите, где я застрял – user3059197

Смежные вопросы