STL——stack

① 声明 stack
stack<int> s;
② stack 的成员函数
s.push(x);      将 x 压栈,无返回值
s.pop();         退栈,无返回值
s.top();          取栈顶元素,返回栈顶元素
s.empty();      判断栈是否为空,如果是,返回 1,否则返回 0
s.size();         返回栈中元素的个数
③ stack 没有提供清空操作的函数,但可间接实现
while(!s.empty()) s.pop();

 1 //使用 stack 实现十进制向八进制的转换
 2 #include<iostream>
 3 #include<stack>
 4 using namespace std;
 5 
 6 int main(){
 7     int n;
 8     stack<int> s;
 9     while(cin>>n){
10         while(n>0){
11             s.push(n%8);
12             n/=8;
13         }
14         cout<<"length: "<<s.size()<<endl;
15         while(!s.empty()){
16             cout<<s.top();
17             s.pop();
18         }
19         cout<<endl;
20     }
21     return 0;
22 }

 

posted on 2013-07-20 15:56  SCNU20102200088  阅读(221)  评论(0编辑  收藏  举报

导航