基本概念
deque(双向队列)是C++ STL(标准模板库)中的一种容器。它能够高效地在头尾两端插入和删除元素,因为它是一个双向开口的连续线性空间。
deque容器与vector容器类似,但是它有许多不同之处。vector容器只能对尾部元素进行插入和删除操作,而deque容器可以在常数时间内对首尾元素进行插入和删除操作。此外,deque容器还可以在中间插入和删除元素。
构造函数
deque容器的构造函数有以下几种:
- deque():创建一个空的deque容器。
- deque(int n, value):创建一个包含n个值为value的元素的deque容器。
- deque(const deque& x):创建一个与x相同的deque容器。
- deque(iterator first, iterator last):创建一个包含[first,last)之间的元素的deque容器。
其中,iterator是指向容器中元素的迭代器。迭代器是一种类似于指针的对象,用于遍历容器中的元素。
赋值操作
可以使用以下方式对deque容器进行赋值操作:
- assign():将一个新的值分配给容器,取代容器中原有的元素。
- operator=():将一个容器的值赋给另一个容器。
容器大小操作
deque容器有以下几种操作可以获取容器的大小:
- size():返回容器中元素的个数。
- empty():如果容器为空,则返回true;否则返回false。
- resize(int n, value):将容器的大小调整为n,并用value填充新添加的元素。
注意,当使用resize()函数时,如果n小于当前容器的大小,则只有前n个元素会被保留。如果n大于当前容器的大小,则新添加的元素将被填充为value。