C++ stack
简介:
1.Stack(堆栈) 是一个容器类的改编,先进后出(FILO)的数据结构。
即先进去的数据在底部,最后取出,后进去的数据在顶部,最先被取出。
stack的头文件为:#include < stack >
stack的常用成员函数介绍
empty() 堆栈为空则返回真
pop() 移除栈顶元素
push() 在栈顶增加元素
size() 返回栈中元素数目
top() 返回栈顶元素
sk1.swap(sk2) 交换两个栈
示例
#include<iostream>
#include <stack>
using namespace std;
int main(){
stack<int> mystack,youstack;//定义栈
int sum(0);
for (int i = 1; i <= 10; i++) {
mystack.push(i);//在栈顶增加元素
}
for (int i = 1; i <= 15; i++) {
youstack.push(i);
}
int lmy = (int)mystack.size();//返回栈中元素数目
cout<<"mystack long: "<<lmy<<endl;
int lyou = (int)youstack.size();//返回栈中的元素数目
cout<<"youstack long: "<<lyou<<endl;
mystack.swap(youstack);
cout<<"swap后:"<<endl;
lmy = (int)mystack.size();//返回栈中元素数目
cout<<"mystack long: "<<lmy<<endl;
lyou = (int)youstack.size();//返回栈中的元素数目
cout<<"youstack long: "<<lyou<<endl;
while (!mystack.empty()) {
cout<<mystack.top()<<endl;
sum += mystack.top();//返回栈顶元素
mystack.pop();//移除栈顶元素
}
cout << "mystack total: "<< sum <<endl;
return 0;
}