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;
	}




};