C ++ STLのスタックswap()
この記事では、C++STLでのstack::swap()関数の動作、構文、および例について説明します。
C ++ STLのスタックとは何ですか?
スタックは、データをLIFO(後入れ先出し)に格納するデータ構造であり、先頭または最後に挿入された要素からの挿入と削除を行います。プレートのスタックのように、新しいプレートをスタックに押し込みたい場合は、上部に挿入します。プレートをスタックから削除したい場合は、プレートも上部から削除します。
stack ::swap()とは何ですか?
stack ::swap()関数は、C ++ STLに組み込まれている関数であり、
構文
stack_name.swap(stack& stack2);
パラメータ
この関数は、次のパラメーターを受け入れます-
-
stack2:コンテンツを交換する別のスタックコンテナ。
戻り値
この関数は何も返しません
入力
std::stack<int>odd; odd.emplace(1); odd.emplace(3); odd.emplace(5); std::stack<int&g; eve; eve.emplace(2); eve.emplace(4); eve.emplace(6); odd.swap(eve);
出力
odd: 2 4 6 eve: 1 3 5
例
#include <iostream> #include <stack> using namespace std; int main(){ stack<int> stck_1, stck_2; //inserting elements to stack 1 stck_1.push(1); stck_1.push(2); stck_1.push(3); stck_1.push(4); //inserting elements to stack 2 stck_2.push(5); stck_2.push(6); stck_2.push(7); stck_2.push(8); //swapping elements of stack 1 in stack 2 and vice-versa stck_1.swap(stck_2); cout<<"Elements in stack 1 are: "; while (!stck_1.empty()){ cout<<stck_1.top()<<" "; stck_1.pop(); } cout<<"\nElements in stack 2 are: "; while (!stck_2.empty()){ cout<<stck_2.top()<<" "; stck_2.pop(); } return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Elements in stack 1 are: 8 7 6 5 Elements in stack 2 are: 4 3 2 1
-
C ++ STL(3)でのsetとunordered_set
この記事では、C ++ STLで設定されているものとunordered_setを理解し、それらの違いについて理解しましょう。 何が設定されていますか? セット Key型の一意のオブジェクトのソートされたセットを含む連想コンテナです。各要素は1回だけ発生する可能性があるため、重複は許可されません。ユーザーは要素を任意の順序で挿入してセットを作成できます。セットは並べ替えられたデータをユーザーに返します。つまり、セットにはユーザーから抽出されたデータを並べ替えるための定義が含まれています。 セットを使用できる主な理由は − 並べ替えられたデータの場合 必須 重複する値が必要ない場
-
C ++ STL(3.5)でスタック
C ++ STLでは、スタックはLIFO構造として実装されるコンテナーとして使用されます。 LIFOは後入れ先出しを意味します。 Stackは、本が上下に並べられた本の山と見なすことができ、最後に挿入された本が最初に削除されるため、LIFO構造と呼ばれます。 スタックに関連付けられている操作は- Top() -この関数は、スタックの最上位要素への参照を返します。 構文 --name_of_stack.top() パラメータ -パラメータなし 戻り値 -スタックコンテナの最上位要素への参照 Push() -この関数は、要素をスタックコンテナに挿入するために使用されま