DIQ::PuxOffBeD()在C++ STL中的应用

Deque或双端队列是序列容器,两端都具有扩展和收缩的特征。它们类似于向量,但在末尾和开头插入和删除元素时效率更高。与向量不同,可能无法保证连续存储分配。

null
德克:推回

push_back()函数用于将元素从后面推入一个三角形中。新值在当前最后一个元素和容器大小增加1之前的末尾插入到deque中。 语法:

dequename.push_back(value)Parameters :The value to be added in the back is passed as the parameterResult :Adds the value mentioned as the parameter to the back of the deque named as dequename

例如:

Input : deque{1, 2, 3, 4, 5};        deque.push_back(6);Output : 1, 2, 3, 4, 5, 6Input : deque{5, 4, 3, 2, 1};        deque.push_back(6);Output : 5, 4, 3, 2, 1, 6

错误和异常 1.强异常保证——如果抛出异常,容器中不会发生任何更改。 2.如果deque不支持作为参数传递的值,它将显示未定义的行为。

CPP

// CPP program to illustrate
// push_back() function
#include <iostream>
#include <deque>
using namespace std;
int main()
{
deque< int > mydeque{ 1, 2, 3, 4, 5 };
mydeque.push_back(6);
// deque becomes 1, 2, 3, 4, 5, 6
for ( auto it = mydeque.begin();
it != mydeque.end(); ++it)
cout << ' ' << *it;
}


输出:

1 2 3 4 5 6

时间复杂性: O(1) 应用 给定一个空的deque,使用push_back()函数向其添加整数,然后计算其所有元素的和。

Input  : 11, 2, 5, 3, 7, 1Output : 29

算法 1.使用push_back()函数向deque添加元素。 2.检查deque的大小是否为0,如果不是,则将front元素添加到初始化为0的sum变量中,然后弹出front元素。 3.重复此步骤,直到三角形的大小变为0。 4.打印变量的最终值。

CPP

// CPP program to illustrate
// Application of push_back() function
#include <iostream>
#include <deque>
using namespace std;
int main()
{
int sum = 0;
deque< int > 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;
}


输出:

29

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享