双向队列deque/栈stack

时间:2021-12-22 17:39:44
deque<int>q;//定义一个双向队列q,类型为int    
q.push_front(a);//将a从队首插入队列     
q.push_back(a);//将a从队尾插入队列   
q.pop_front();//队首弹掉一个元素     
q.pop_back();//队尾弹出一个元素      
a=q.front();//返回队首元素     
a=q.back();//返回队尾元素     
a=q.size();//返回双向队列的大小      
a=q.empty();//判断双向队列是否为空,为空返回1,不为空返回0     
q.clear(); //将队列q清空   


2.栈的成员函数:
1.声明一个stack
   stack<int> s1;
   stack<string> s2;
2.stack中的操作
    s.push(x)      将元素x压栈
    s.pop();       删除元素
    s.top();        取栈顶元素,返回栈顶元素
    s.empty();    判断栈是否为空,如果是空,返回1,否则返回0
    s.size();      返回栈中元素的个数
 3.普通队列:(优先队列取出首元素用   top()  )
back()返回最后一个元素
empty()如果队列空则返回真
front()返回第一个元素
pop()删除第一个元素
push()在末尾加入一个元素
size()返回队列中元素的个数