堆栈 stack 先进后出
stack类中包含以下几个成员函数:
- empty() 堆栈为空则返回真
- pop() 移除栈顶元素(不会返回栈顶元素的值)
- push() 在栈顶增加元素
- size() 返回栈中元素数目
- top() 返回栈顶元素
例子:
# include <iostream>
# include <stack>
using namespace std;
struct chess{
int row;
int col;
};
int main()
{
stack<chess> st;
chess ch[1000];
for(int i=0;i<10;i++){
ch[i].row = i;
ch[i].col = i+1;
st.push(ch[i]);
}
cout<<st.top().row<<" ";
cout<<st.top().col<<endl;
st.pop();
cout<<st.top().row<<" ";
cout<<st.top().col<<endl;
return 0;
}
队列 queue 先进先出
queue类包含以下成员函数:
- back()返回最后一个元素
- empty()如果队列空则返回真
- front()返回第一个元素
- pop()删除第一个元素
- push()在末尾加入一个元素
- size()返回队列中元素的个数
例子:
# include <iostream>
# include <queue>
using namespace std;
struct chess{
int row;
int col;
};
int main()
{
queue<chess> que;
chess ch[1000];
for(int i=0;i<10;i++){
ch[i].row = i;
ch[i].col = i+1;
que.push(ch[i]);
}
cout<<que.front().row<<" ";
cout<<que.front().col<<endl;
que.pop();
cout<<que.front().row<<" ";
cout<<que.front().col<<endl;
return 0;
}