Написать программу замены одного стека на другой - C (СИ)
Формулировка задачи:
Задание: написать программу замены одного стека на другой.
Помогите, пожалуйста
Решение задачи: «Написать программу замены одного стека на другой»
textual
Листинг программы
typedef int Item;
static Item *s;
static int N;
void STACKinit(int maxN)
{ s = (Item*) malloc(maxN*sizeof(Item)); N = 0; }
int STACKempty()
{ return N == 0; }
void STACKpush(Item item)
{ s[N++] = item; }
Item STACKpop()
{ return s[--N]; }
Объяснение кода листинга программы
Вот что делает каждый из этих функций:
STACKinit- инициализирует стек. Он выделяет память для массиваsразмеромmaxNи устанавливаетNв 0.STACKempty- проверяет, пуст ли стек. ЕслиNравно 0, то возвращаетtrue, в противном случаеfalse.STACKpush- добавляет элемент в стек. Он сохраняет элемент в массивеsпо адресуNи увеличиваетNна 1.STACKpop- удаляет и возвращает последний добавленный элемент из стека. Он уменьшаетNна 1 и возвращает элемент в массивеsпо адресуN.