版权声明:原创文章,转载请注明出处 https://blog.csdn.net/hza419763578/article/details/88415426
栈stack
1.push,pop,top
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int> st;
for(int i=1;i<=5;i++){//1 2 3 4 5
st.push(i);
}
for(int i=1;i<=3;i++){//3 4 5=>1 2
st.pop();
}
cout<<st.top()<<endl;
return 0;
}
2.empty()
#include<iostream>
#include<stack>
using namespace std;
void empty(stack<int> st){
if(st.empty()){
cout<<"空\n";
}else{
cout<<"非空\n";
}
}
int main(){
stack<int> st;
empty(st);
st.push(1);
empty(st);
return 0;
}
3.size()
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int> st;
for(int i=1;i<=5;i++){//1 2 3 4 5
st.push(i);
}
cout<<st.size()<<endl;
for(int i=1;i<=3;i++){//3 4 5=>1 2
st.pop();
}
cout<<st.size()<<endl;
return 0;
}
4.STL没有实现clear,自己实现一个
#include<iostream>
#include<stack>
using namespace std;
void clear(stack<int> &st){
while(!st.empty()) st.pop();
}
int main(){
stack<int> st;
for(int i=1;i<=5;i++){//1 2 3 4 5
st.push(i);
}
cout<<st.size()<<endl;
clear(st);
cout<<st.size()<<endl;
return 0;
}