【C++】stack的部分使用(之后会不定时进行更新)

栈具有First In Last out(FILO)的特点,只能在栈顶进行插入和删除操作。

【C++】stack的部分使用(之后会不定时进行更新)

头文件:<stack>

成员函数:

1、size():返回栈中的元素值

2、empty():判断栈是否为空,为空的话返回true,否则返回false

3、top():返回栈顶元素的值

4、push(x):向栈中添加元素x

5、pop():删除栈顶元素

6、swap():交换两个栈的内容(所有元素)

运行环境 VS2017

#include <iostream>
#include <stdio.h>
#include <stack>
using namespace std;
int main()
{
	int x;
	stack<int> s, t;
	scanf_s("%d", &x);
	while (x != -1)
	{
		s.push(x);
		scanf_s("%d", &x);
	}
	printf("size of s is %d\n", s.size());
	for (int i = 1; i <= 5; i++)
	{
		t.push(i);
	}
	printf("size of t is %d\n", t.size());
	printf("after change:\n");
	s.swap(t);
	printf("size of s is %d\n", s.size());
	printf("size of t is %d\n", t.size());
	while (!s.empty())
	{
		printf("pop %d\n", s.top());
		s.pop();
	}
	printf("\nsize of s is %d\n", s.size());
	return 0;
}

【C++】stack的部分使用(之后会不定时进行更新)