用栈和各种循环做一个倒序输出;
条件:在键盘上无论输入多大的值(不超过计算机所能接受的最大值)都能倒序输出且在键盘上输入后立马在屏幕上倒序显示,其中不做任何其它输入。
用栈和各种循环做一个倒序输出;
条件:在键盘上无论输入多大的值(不超过计算机所能接受的最大值)都能倒序输出且在键盘上输入后立马在屏幕上倒序显示,其中不做任何其它输入。
#include<iostream>
#include<cstdlib>
using namespace std;
class zhan
{
int *base;
int *top;
int size;
public:
zhan()
{
base = ( int * )malloc( 100 * sizeof( int ) );
top = base+1;
size = 100;
}
~zhan()
{
free( base );
base=NULL;
top=NULL;
size=0;
}
void push( int e )
{
*(top++) = e;
}
int pop()
{
if( ! Empty() )
return *(--top);
else
return 0;
}
bool Empty()
{
if( top == base+1 )
return true;
else
return false;
}
};
int main( int argc, char *argv[] )
{
zhan a;
int temp;
do
{
cin >> temp;
a.push( temp );
}while( cin.peek() != '\n' );
while( !a.Empty())
{
cout << a.pop() << " ";
}
cout << endl;
system("pause");
return 0;
}
下面是运行截图: