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

C ++ STLのスタックswap()


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

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

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

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

stack ::swap()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 swap()は、関連付けられた2つのスタックの内容を交換するために使用されます。この関数は、コンテナーの内容を交換します

構文

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

  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() -この関数は、要素をスタックコンテナに挿入するために使用されま