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