C++ STL 中的 deque_emplace


本任务演示 C++ STL 中 Deque emplace() 函数的功能。

什么是 Deque?

Deque 是双端队列,是一种序列容器,可以在两端进行扩展和收缩操作。队列数据结构只允许用户在尾部插入数据,在头部删除数据。例如公交车站的队列,只能在队尾添加乘客,而排在队首的乘客最先离开。而双端队列可以在两端进行插入和删除操作。

什么是 emplace() 函数?

emplace() 函数在 deque 指定位置之前插入新元素,并增加 deque 的大小。

语法

iterator emplace(const_iterator position, value_type value);

参数

**位置** − 定义在容器中插入新元素的位置。

**值** − 定义要插入到容器中的新值或参数。

**返回值** − 返回一个指向 deque 中新插入元素的迭代器。

示例

**输入** Deque − 96 97 98 100

**输出** 插入新元素后的 Deque − 96 97 98 99 100

**输入** Deque − C P T A I N

**输出** 插入新元素后的 Deque − C A P T A I N

可遵循的方法

  • 首先声明 deque。

  • 然后打印 deque。

  • 然后定义 emplace() 函数。

  • 然后打印插入新元素后的新 deque。

使用上述方法,可以在 deque 中插入新元素。在定义 emplace() 函数时,也定义了位置和要插入到 deque 中的新值。

示例

// C++ code to demonstrate the working of deque emplace( ) function
#include<iostream.h>
#include<deque.h>
Using namespace std;
int main ( ){
   // initializing the deque
   Deque<int> deque = { 85, 87, 88, 89, 90 };
   // print the deque
   cout<< “ Deque: “;
   for( auto x = deque.begin( ); x != deque.end( ); ++x)
   cout<< *x << “ “;
   deque<int> iterator x;
   // defining the emplace( ) function
   deque.emplace(deque.emplace( ) + 1, 85);
   // printing deque after inserting new element
   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( ){
   // initializing deque
   deque<char> deque ={ ‘L’ , ‘A’ , ‘C’ , ‘K’ };
   cout<< “ Deque: “;
   for( auto x = deque.begin( ); x != deque.end( ); ++x)
   cout<< *x << “ “;
   deque<int> iterator x;
   // defining the emplace( ) function
   deque.emplace(deque.emplace( ) , ‘B’)
   // printing deque in after inserting new element
   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

更新于:2020年2月28日

浏览量:121

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.