STL中C ++中的deque_emplace

给出的任务是显示C ++ STL中Deque emplace()函数的功能

什么是双端队列?

双端队列是双端队列,它是序列容器,在两端都提供扩展和收缩功能。队列数据结构允许用户仅在END插入数据,并从FRONT删除数据。让我们以在公交车站排队的类比为例,那里的人只能从END插入队列,而站在FRONT的人是第一个被移走的人,而在双头队列中,可以同时插入和删除数据结束。

什么是emplace()函数?

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