C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

STLのC++のdeque_emplace


C ++STLでDequeemplace()関数の機能を表示するタスクが与えられています

Dequeとは何ですか?

Dequeは、両端で拡張と縮小の機能を提供するシーケンスコンテナである両端キューです。キューデータ構造により、ユーザーはENDでのみデータを挿入し、FRONTからデータを削除できます。バス停のキューを例にとると、ENDからのみキューに挿入でき、FRONTに立っている人が最初に削除されますが、両端キューではデータの挿入と削除が両方で可能です。終わり。

emplace()関数とは何ですか?

emplace()関数は、dequeの指定された位置の前に新しい要素を挿入し、要素のサイズに応じてdequeを増やします。

構文

iterator emplace(const_iterator position, value_type value);

パラメータ

位置 −新しい要素が挿入されるコンテナ内の位置を定義します。

価値 −コンテナに挿入される新しい値または引数も定義します。

戻り値 −両端キューに新しく挿入された要素を指すイテレータを返します。

入力 Deque − 96 97 98100

出力 新しい要素を挿入した後の新しいDeque− 96 97 98 99100

入力 Deque − C P T A I N

出力 新しい要素を挿入した後の新しいDeque− C A P T A I N

アプローチに従うことができます

  • まず、両端キューを宣言します。

  • 次に、両端キューを印刷します。

  • 次に、emplace()関数を定義します。

  • 次に、新しい要素を挿入した後、新しい両端キューを印刷します。

上記のアプローチを使用することにより、dequeに新しい要素を入力できます。 emplace()関数を定義する際に、位置も定義し、両端キューに挿入される新しい値も定義します。

// 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

  1. C ++STLのdequeassign()関数

    与えられたタスクは、C ++STLでのdeque::assign()の動作を示すことです。 Dequeは両端キューです。 C ++では、deque ::assign()は、新しい値をdequeコンテナに割り当てるために使用される組み込み関数です。この関数が呼び出されるたびに、既存の値を置き換え、それに応じて割り当てられたサイズを変更することにより、dequeコンテナに新しい値を割り当てます。 構文 deque ::assign()の構文は次のとおりです- dequename.assign(<int> size, <int> val) パラメータ この関数には2つの

  2. C++STLでの配置と挿入

    emplace操作は、オブジェクトの不要なコピーを回避し、挿入操作よりも効率的に挿入を行います。挿入操作はオブジェクトへの参照を取ります。 アルゴリズム Begin Declare set. Use emplace() to insert pair. Use insert() to insert pair by using emplace(). Print the set. End サンプルコード #include<bits/stdc++.h> using namespace std; int main() {    set<pai