前提:
#include <stack>
using namespace std;
定义格式:
stack<typname> name;
栈是一种?后进先出?的数据结构,所以只能通过 top() 来访问栈顶元素。
代码示例:
#include <stdio.h>
#include <stack>
using namespace std;
int main(){
stack<int> st;
for(int i = 1; i <= 5; i++){
st.push(i);
}
printf("%d\n", st.top()); // 取栈顶元素
return 0;
}
push() // 入栈
top() // 获取栈顶元素
pop() // 出栈
empty() // 判空,若空返回true
size() // 元素个数
代码示例:
int main(){
stack<int> st;
for(int i = 1; i <= 5; i++){
st.push(i); // 将1、2、3、4、5 依次入栈
}
for(int i = 1; i <= 3; i++){
st.pop(); // 将5、4、3 依次出栈
}
printf("%d\n", st.top()); // 获取栈顶元素,此时是 2
return 0;
}