【原创】逆序输出字符(stack)
//逆序输出
#include <iostream>
#include <stack>
#include <vector>
using namespace std;
int reverse(int num);
int reverse(stack<char,vector<char> > a);
int main()
  {
       int num=123456789;
       char c;
  stack<char,vector<char> > a; //指定stack采用vector为容器类型,默认为deque
cout <<num <<endl;
cout <<reverse(num) <<endl;
     cout <<"请输入字符串(以#结束):" <<endl; 
       do
       {
  cin >>c;
if(c!='#') a.push(c); //将输入的字符顺序压入栈
}while(c!='#');
reverse(a);
     system("pause");
       return 0;
  }
//将整数反转并返回 
  int reverse(int num)
{
       int i=0;
  while(true)
     {
  i=i*10+num%10;
num=num/10;
if(num==0)break;
}
     return i;
  }
//逆序输出字符   先进后出,后进先出 
  int reverse(stack<char,vector<char> > a)
{
      while(!a.empty())
      {
            cout <<a.top();  //获取栈顶元素 
            a.pop();   //弹出 
  }
cout <<endl;
    return 0;
  }
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号