Задать вопрос
@sabn1k
Возможно я написал чепуху, но попытайтесь понять

Как работает стек?

Не совсем понял, как в данном коде работает стек:
class Stack
{
	static const int MAX = 10;
	int st[MAX];
	int top;
public:
	Stack():top(0){}
	void push(int var)
	{
		st[++top] = var;
	}
	int pop()
	{
		return st[top--];
	}
};
int main()
{
	setlocale(0, "");
	Stack s1;
	s1.push(11);
	s1.push(22);
	cout << "1: " << s1.pop() << endl;
	cout << "2: " << s1.pop() << endl;
	s1.push(33);
	s1.push(44);
	s1.push(55);
	s1.push(66);
	cout << "3: " << s1.pop() << endl;
	cout << "4: " << s1.pop() << endl;
	cout << "5: " << s1.pop() << endl;
	cout << "6: " << s1.pop() << endl;
	getch();
	return 0;
}

Почему вывод такой?
1: 22
2: 11
3: 66
4: 55
5: 44
6: 33
  • Вопрос задан
  • 362 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 2
ThePyzhov
@ThePyzhov
iOS Ninja
Последним пришел, первым вышел.
Если вы сложите по 1 листу в стопку, а потом будете забирать по 1, вы же будете брать тот, который лежит сверху (т.е. тот, который положили последним).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@iv_k
стек работает как магазин у автомата калашникова.
а сам АК - это преобразователь стека в очередь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы