C ++ STL(3.5)でスタック
C ++ STLでは、スタックはLIFO構造として実装されるコンテナーとして使用されます。 LIFOは後入れ先出しを意味します。 Stackは、本が上下に並べられた本の山と見なすことができ、最後に挿入された本が最初に削除されるため、LIFO構造と呼ばれます。
スタックに関連付けられている操作は-
-
Top() -この関数は、スタックの最上位要素への参照を返します。
構文 --name_of_stack.top()
パラメータ -パラメータなし
戻り値 -スタックコンテナの最上位要素への参照
-
Push() -この関数は、要素をスタックコンテナに挿入するために使用されます。
構文 --name_of_stack.push(element)
パラメータ -この関数は、挿入される要素を受け取ります。
戻り値 -何も返されません。
-
Pop() -この関数は、スタックコンテナから要素を削除するために使用されます。
構文 --name_of_stack.pop()
パラメータ -パラメータなし
戻り値 -スタックの最上位の要素を削除して返します。
-
サイズ() -この関数は、スタックに存在する要素の総数を計算するために使用されます。
構文 --name_of_stack.size()
パラメータ -パラメータなし
戻り値 -スタック内の要素の数を返します。
-
Empty() -この関数は、スタックが空かどうかを確認するために使用されます
構文 --name_of_stack.empty()
パラメータ -パラメータなし
戻り値 -trueまたはfalseのブール値を返します。スタックが空の場合はtrue、スタックが空でない場合はfalse。
例
#include <bits/stdc++.h> using namespace std; int main(){ //create a stack container stack <int> newStack; //insert elements to a stack newStack.push(10); newStack.push(20); newStack.push(30); newStack.push(40); //check whether the values are pushed in stack or not //using empty() if(!newStack.empty()){ //calculate size of a stack cout<<"Stack size is: "<< newStack.size(); } else{ cout<<"Stack is empty"; } cout<<"\nElements in the stack are:"; while(!newStack.empty()){ cout<<" "<< newStack.top(); newStack.pop(); } return 0; }
出力
Stack size is: 4 Elements in the stack are: 40 30 20 10
-
C++STLのコンテナ
このチュートリアルでは、C++STLのコンテナを理解するためのプログラムについて説明します。 コンテナは、同じタイプまたは異なるタイプの複数の要素を格納するために使用されるオブジェクトです。それに応じて、それらはさらに-として分類できます。 シーケンスコンテナ(配列、ベクトル、リスト) 連想コンテナ(セット、マップ、マルチマップ) 順序付けされていない連想コンテナ(unordered_set、unordered_map) コンテナアダプタ(スタック、キュー) 例 #include <iostream> using namespace std; int
-
STLにスタックを実装するC++プログラム
スタックは、操作が実行される特定の順序に従う線形データ構造です。順序は、FILO(先入れ先出し)またはLIFO(後入れ先出し)の場合があります アルゴリズム Begin Declare stack vector. Take the input as per choice. Call the functions within switch operation: s.size() = Returns the size of stack. s.push() = It is used to insert elements to the stack. s.pop()