算法笔记6.7 stack

版权声明:原创文章,转载请注明出处 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;
}

猜你喜欢

转载自blog.csdn.net/hza419763578/article/details/88415426