在C ++ STL中deque::push_back()的使用
Deque或双向队列是具有两端扩张和收缩功能的序列容器。它们类似于向量,但在插入和删除元素的末尾以及开头时更有效。与向量不同,不能保证连续的存储分配。
deque :: push_back()
push_back()函数用于从后面将元素推入双向队列。新值在当前最后一个元素之前插入到deque中,并且容器大小增加1。
语法:
dequename.push_back(value)
参数:
作为参数传递要添加到后面的值
结果:
将参数指定的值添加到名为dequename的deque的背面
例子:
输入:deque {1,2,3,4,5};
deque.push_back(6);
输出:1,2,3,4,5,6
输入:deque {5,4,3,2,1};
deque.push_back(6);
输出:5,4,3,2,1,6
错误和异常
1.强异常保证-如果抛出异常,则容器中没有更改。
2.如果传递的值不受deque支持,则显示未定义的行为。
// CPP程序来说明
//push_back()函数
#include
#include
using namespace std;
int main()
{
deque mydeque {1,2,3,4,5};
mydeque.push_back(6);
// deque变为1,2,3,4,5,6
for(auto it = mydeque.begin();
it!= mydeque.end();++it)
cout << '' << *it;
} ```
输出:
```cpp
1 2 3 4 5 6
</code></pre>
<strong>时间复杂度:</strong> O(1)
<strong>应用</strong>
给定一个空deque,使用push_back()函数添加整数,然后计算所有元素的总和。
<pre><code class="language-cpp line-numbers">输入:11, 2, 5, 3, 7, 1
输出:29
</code></pre>
<strong>算法</strong>
1.使用push_back()函数将元素添加到deque中。
2.检查双端队列的大小是否为0,如果不是,则将前端元素添加到初始化为0的sum变量中,并弹出前端元素。
3.重复此步骤,直到deque的大小变为0。
4.打印变量的最终值。
<pre><code class="language-cpp line-numbers">// CPP程序说明
//push_back()函数的应用
# include
# include
using namespace std;
int main()
{
int sum = 0;
deque mydeque;
mydeque.push_back(11);
mydeque.push_back(2);
mydeque.push_back(5);
mydeque.push_back(3);
mydeque.push_back(7);
mydeque.push_back(1);
while(!mydeque.empty())
{
sum = sum + mydeque.front();
mydeque.pop_front();
}
cout << sum;
return 0;
} ```
输出:
```cpp
29