栈的常用函数
先进后出
void Push(const T & s);//插入数据
void Pop();//删除数据
bool empty();//判断是否为空
size_t size();//元素个数
T & Top();//取出最后进入的元素但不删除
void print();//输出函数从栈顶到栈底
Stack<int> s1;
s1.Push(0);
s1.Push(1);
s1.Push(2);
s1.Push(3);
s1.print();//输出结果3 2 1 0
s1.Pop();
s1.print();//输出结果2 1 0
cout << s1.empty() << endl;//输出结果0
cout << s1.size() << endl;//输出结果 3
cout << s1.Top() << endl;//输出结果 2
注意:s1.push(a) 可以直接将a压如栈内,s1.pop() 不能返回任何值,所以一般与 a=s1.top() 一起使用。
s1.empty() 的输出是 0 或 1 。
队列
先进先出
https://www.cnblogs.com/xuning/p/3321733.html
queue<int > q;
void q.push(1);//压入1
void q.pop();//弹出,无返回值
int a=q.size();//返回队列长度,0是没有
bool a=q.empty();//返回true和false
int a=q.front();//返回最先进入的值
int a=q.back();//返回最后进入的值