【C++】stack的部分使用(之后会不定时进行更新)
栈具有First In Last out(FILO)的特点,只能在栈顶进行插入和删除操作。
头文件:<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;
}