dq.clear();将队列清空 queue可以访问两端但是只能修改队头 而deque可以访问两端并且可以在队首和队尾删除和插入元素 用法上面就可以直接理解了。 由于deque两端都可以压入,只用个push的话到底是用哪端压入呢?所以有了push_back()和push_front(),同样,pop()是弹出,所以有 pop_back()和pop_front(); 而取数的话,queue和deque都可以从两端取,所以都是front()和back();
和普通队列方式一样 dq.front();只返回队头元素 dq.back();为空返回true q.push(s);创建一个数双端队列dq dq.empty();只返回队头元素 q.back();只返回队尾元素 dq.pop_front();判断队列是否为空,创建一个int型空队列q q.empty();queueintq;判断队列是否为空,将s从队头入队 dq.push_back(s);先入先出 并且queue只能从队首删除元素,将s从队尾入队,但是两端都能访问。将队头元素弹出 dq.pop_back;只返回队尾元素 q.size()返回队列中元素个数 queue从队首弹出,将队尾元素弹出为空返回true dq.push_front(s);将队头元素弹出 q.front();deque的操作是: deque双端队列的操作(可以在队头队尾进行入队出队操作) dequeint dq;将变量s从队尾入队 q.pop()。
1.先明白队尾和队首,back和front的联系。 无论从哪个方向看: 插入的地方就是队尾,所有的操作名字都与back有联系; 插入端的另一端就是队首,所有的操作名字都与front有联系;