1.stack是后进先出的,这也影响其对应的接口,所能实现的功能也有限,其中主要的功能如下:
void test_stack1()
{
stack<int> st;
st.push(1);
st.push(2);
st.push(3);
st.push(4);
st.push(5);
st.push(6);
while (!st.empty())
{
cout << st.top() << " ";
st.pop();
}
}
其分别为入栈,出栈,取栈顶元素,判断栈是否为空。
2.queue队列对应的是先进先出,同时也影响对应的接口,其主要功能如下:
void test_queue1()
{
queue<int> q;
q.push(1);
q.push(2);
q.push(3);
q.push(4);
q.push(5);
q.push(6);
q.push(7);
while (!q.empty())
{
cout << q.front() << " ";
q.pop();
}
}
3.deque结合了stack和queue还有vector,他们的接口在deque上都有体现,但其实没必要,这么
做只会是deque的实现更繁琐,具体的接口如下:
功能只有重点实现:
//vector,stack和queue的结合体
void test_deque1()
{
deque<int> dq;
dq.push_back(1);
dq.push_back(2);
dq.push_back(3);
dq.push_back(4);
dq.push_back(5);
dq.push_back(6);
for (size_t i = 0; i < dq.size(); i++)
{
cout << dq[i] << " ";
}
cout << endl;
}
这就是stl中的queue,deque,stack