배열 로 간단 한 스 택 을 실현 하 다.
903 단어 데이터 구조 상용 알고리즘
#include
using namespace std;
typedef int T;
//
class Stack{
T data[10];
int sz;
public:
Stack():sz(){}
//
void push(const T& d)
throw(const char*){
if(sz==10)throw "full";
data[sz++] = d;
}
//
void pop()throw(const char*){
if(sz==0)throw "empty";
sz--;
}
//
T top()const throw(const char*){
if(sz==0)throw "empty";
return data[sz-1];
}
//
int size()const{ return sz;}
//
bool empty()const{ return sz==0;}
};
int main()
{
Stack s;
s.push(100);
s.push(200);
s.push(300);
s.push(400);
/*
for(int i=0; i<10; i++){
s.push(i);
}
*/
cout << s.size() << endl;
//
while(!s.empty()){
cout << s.top() << ' ';
s.pop();
}
cout << endl;
cout << s.size() << endl;
}