スタックの一般的な使用法
スタックに翻訳スタックは、STLはで実装されLIFO容器
ヘッダ
#include<stack>
using namespace std;
の定義されたスタック
stack<typename> name;
スタックコンテナ要素内のアクセス
のみによるtop()
トップ要素へのアクセス
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int> st;
for(int i = 1; i <= 5; i++)
st.push(i);
printf("%d", st.top()); // 5
return 0;
}
一般的に使用される関数のスタック
押す( )
スタックにxのプッシュ(x)は、時間計算量はO(1)であります
上( )
トップ()はトップエレメントにアクセスするために、時間計算量はO(1)であります
ポップ( )
トップ要素をポップするために()ポップ、時間複雑度はO(1)であります
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int> st;
for(int i = 1; i <= 5; i++)
st.push(i);
for(int i = 1; i <= 3; i++)
st.pop(); // 出栈3次
printf("%d", st.top()); // 2
return 0;
}
空の( )
空に()がfalse真空ではなく、空のリターンを返し、スタックが空で検出することができ、時間の複雑さはO(1)であります
サイズ()
サイズは()時間複雑度はO(1)であり、スタック内の要素の数を返します
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int> st;
for(int i = 1; i <= 5; i++)
st.push(i);
for(int i = 1; i <= 3; i++)
st.pop(); // 出栈3次
st.empty() ? printf("Empty\n") : printf("No Empty\n");
printf("%d\n", st.size());
printf("%d", st.top());
return 0;
}
No Empty
2
2
スタックの一般的な用途
- エラーを実行するために、スタックメモリにつながった手続上の制限を防ぐため、いくつかの再帰を実装シミュレートするために使用
Gqqによる書き込み