c++は配列でスタッククラスを実現する
#include<iostream>
#include<cassert>
using namespace std;
template<class T, int SIZE = 50>
class Stack{
private:
T list[SIZE];//
int top;//
public:
Stack():top(-1){}
void push(const T &item){//
assert(!isFull());
list[++top] = item;
}
T pop(){ //
assert(!isEmpty());
return list[top--];
}
void clear(){
top = -1;
}
const T &peek() const{//
assert(isEmpty());
return list[top];
}
bool isEmpty()const{
return top == -1;
}
bool isFull()const{
return top == SIZE - 1;
}
};