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

C ++ STLでemplace()をスタックします


この記事では、C++STLでのstack::emplace()関数の動作、構文、および例について説明します。

C ++ STLのスタックとは何ですか?

スタックは、データをLIFO(後入れ先出し)に格納するデータ構造であり、最後に挿入された要素の先頭から挿入と削除を行います。プレートのスタックのように、新しいプレートをスタックに押し込みたい場合は上部に挿入し、プレートをスタックから削除したい場合は上部からも削除します。

stack ::emplace()とは何ですか?

stack ::emplace()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 emplace()は、関数に関連付けられたスタックコンテナに要素を作成して挿入するために使用されます。

この関数を実行すると、関数はスタックの一番上に新しい要素を挿入し、新しく挿入された要素を一番上の要素にします。この関数はemplace_backを呼び出して、新しい要素を上部に挿入します。

構文

stack_name.emplace(Args& args);

パラメータ

この関数は、次のパラメーターを受け入れます-

  • 引数 −これらは私たちが配置したい議論です。

戻り値

この関数は何も返しません。

入力

std::stack<int> stack1;
stack1.emplace(1);
stack1.emplace(2);
stack1.emplace(3);

出力

3 2 1

#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int> stck;
   stck.emplace(10);
   stck.emplace(20);
   stck.emplace(30);
   stck.emplace(40);
   stck.emplace(50);
   stck.emplace(60);
   cout << "Elements in stack are: ";
   while (!stck.empty()){
      cout<<stck.top() << " ";
      stck.pop();
   }
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Elements in stack are: 60 50 40 30 20 10

#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int> stck;
   int total = 0;
   stck.emplace(10);
   stck.emplace(20);
   stck.emplace(30);
   stck.emplace(40);
   stck.emplace(50);
   stck.emplace(60);
   cout << "Elements in stack are: ";
   while (!stck.empty()){
      cout<<stck.top() << " ";
      stck.pop();
      total++;
   }
   cout<<"\nTotal number of elements in stack are: "<<total;
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Elements in stack are: 60 50 40 30 20 10
Total number of elements in stack are: 6

  1. C ++ STL(3)でのsetとunordered_set

    この記事では、C ++ STLで設定されているものとunordered_setを理解し、それらの違いについて理解しましょう。 何が設定されていますか? セット Key型の一意のオブジェクトのソートされたセットを含む連想コンテナです。各要素は1回だけ発生する可能性があるため、重複は許可されません。ユーザーは要素を任意の順序で挿入してセットを作成できます。セットは並べ替えられたデータをユーザーに返します。つまり、セットにはユーザーから抽出されたデータを並べ替えるための定義が含まれています。 セットを使用できる主な理由は − 並べ替えられたデータの場合 必須 重複する値が必要ない場

  2. C ++ STL(3.5)でスタック

    C ++ STLでは、スタックはLIFO構造として実装されるコンテナーとして使用されます。 LIFOは後入れ先出しを意味します。 Stackは、本が上下に並べられた本の山と見なすことができ、最後に挿入された本が最初に削除されるため、LIFO構造と呼ばれます。 スタックに関連付けられている操作は- Top() -この関数は、スタックの最上位要素への参照を返します。 構文 --name_of_stack.top() パラメータ -パラメータなし 戻り値 -スタックコンテナの最上位要素への参照 Push() -この関数は、要素をスタックコンテナに挿入するために使用されま