c++中deque::assign与deque::empty的区别
双端队列是一种序列容器,具有两端展开和收缩的特点。它们类似于vector,但是在末尾和开头插入和删除元素时效率更高。与向量不同,可能无法保证连续存储分配。
下面我们将看到c++中deque::assign和deque::empty的区别。
deque::assign
assign的作用是通过替换Deque容器的当前内容来为其赋值新内容。它会相应地改变它的大小。
语法:
参数:
- size—分配给容器的值的数量。
- val—要赋给容器的值。
头文件:
异常:如果抛出异常,则容器处于有效状态。
迭代器有效性:在此容器中,所有的迭代器、指针和引用都无效。
示例:
输出:
- 时间复杂度- O(N)
- 空间复杂度- O(N)
deque::empty
Deque::empty用于检查Deque容器是否为空。它不会改变容器中的任何东西。
语法:
头文件:
异常:它从不抛出任何异常
迭代器的有效性:迭代器的有效性在容器中不会改变。
示例:
输出:
- 时间复杂度- O(1)
- 空间复杂度- O(1)
deque::assign和deque::empty的区别
Item | deque::assign | deque::empty |
---|---|---|
定义 | 它用于将新内容赋给deque容器。 | 它用于检查deque容器是否为空。 |
语法 | dequename.assign(<int> size, <int> val); |
empty() |
参数个数 | 它只接受两个参数 | 无 |
返回值 | 无 | 布尔 |
复杂度 | 线性 | 常数 |