Есть ф-ция которая принимает 3 аргумента:
1) актуальный размер стека
2) актуальное положение в стеке
3) новый элемент для вставки (append) в стек
Мы внутри себя храним полную копию чужого стека, эта наша ф-ция дергается извне, когда внешний стек поменялся. Новый элемент для вставки может быть «null», остальные параметры прилетают всегда.
Этот «null» может быть тогда, когда внешний стек просто урезали с конца. Например раньше был размер 10 (и у нас есть старое значение с предыдущего обращения), а стал 3. Значит просто урезаем свой стек и ставим актуальное положение.
А может быть не «null», значит новый элемент надо вставить в конец своего. Но в этом случае стек так же мог быть урезан, и присылается сюда к нам размер стека уже с учетом того что там вовне этот элемент уже вставлен.
И вот я сейчас это все расписал, вроде все понятно, бери и делай. Но как только у меня доходит до написания кода (все эти иф/элзиф и инкремен/декремент размеров и положений изза нулл/ненулл) — я начинаю страшно тупить и ничего не получается.
Да, я уже поспал и выспался — не помогает. Помогите мне пжл, кусочком псевдокода.
ЗЫЖ Писец аж стыдно...