① 声明 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 }