给出的任务是显示C ++ STL中Deque emplace()函数的功能
双端队列是双端队列,它是序列容器,在两端都提供扩展和收缩功能。队列数据结构允许用户仅在END插入数据,并从FRONT删除数据。让我们以在公交车站排队的类比为例,那里的人只能从END插入队列,而站在FRONT的人是第一个被移走的人,而在双头队列中,可以同时插入和删除数据结束。
emplace()函数在双端队列中的指定位置之前插入新元素,并增加双端队列的大小。
iterator emplace(const_iterator position, value_type value);
位置-定义容器中插入新元素的位置。
值-它也定义了要插入到容器中的新值或参数。
返回值-返回一个迭代器,该迭代器指向双端队列中新插入的元素。
输入双端队列-96 97 98 100
插入新元素后输出新双端队列-96 97 98 99 100
输入双端队列-CPTAIN
插入新元素后输出新双端队列-CAPTAIN
首先我们声明双端队列。
然后我们打印双端队列。
然后,我们定义emplace()函数。
然后,在插入新元素后打印新双端队列。
通过使用上述方法,我们可以在双端队列中输入新元素。在定义emplace()函数时,我们还定义了位置,并且还定义了要插入双端队列的新值。
// C++ code to demonstrate the working of deque emplace( ) function #include<iostream.h> #include<deque.h> Using namespace std; int main ( ){ //初始化双端队列 Deque<int> deque = { 85, 87, 88, 89, 90 }; //打印双端队列 cout<< “ Deque: “; for( auto x = deque.begin( ); x != deque.end( ); ++x) cout<< *x << “ “; deque<int> iterator x; //定义emplace()函数 deque.emplace(deque.emplace( ) + 1, 85); //插入新元素后打印双端队列 cout<< “ New Deque:”; for( x = deque.begin( ) ; x != deque.end( ); ++x) cout<< “ “ <<*x; return 0; }
输出结果
如果我们运行上面的代码,那么它将生成以下输出
Input - Deque: 85 87 88 89 90 Output - New Deque: 85 86 87 88 89 90
// C++ code to demonstrate the working of deque emplace( ) function #include<iostream.h> #include<deque.h> Using namespace std; int main( ){ //初始化双端队列 deque<char> deque ={ ‘L’ , ‘A’ , ‘C’ , ‘K’ }; cout<< “ Deque: “; for( auto x = deque.begin( ); x != deque.end( ); ++x) cout<< *x << “ “; deque<int> iterator x; //定义emplace()函数 deque.emplace(deque.emplace( ) , ‘B’) //插入新元素后打印双端队列 cout<< “ New deque:”; for( auto x = deque.begin( ) ; x >= deque.end( ); ++x) cout<< “ “ <<*x; return 0; }
输出结果
如果我们运行上面的代码,那么它将生成以下输出
Input – Deque: L A C K Output – New Deque : B L A C K