사용자 도구


목차

스택

가장 늦게 들어간 자료를 가장 먼저 뺄 수 있는 (LIFO - Last In First Out) 자료 구조이다.
자료를 넣는 행위는 Push, 자료를 빼는 행위는 Pop이라 부른다.

예제

stack.h
template<typename T>
class TStack
{
protected:
	T *Stack;
	int Size;
	int Top;
 
public:
	TStack(int aSize) {
		Size=aSize;
		Stack=(T *)malloc(Size*sizeof(T));
		Top=-1;
	}
	virtual ~TStack() {
		free(Stack);
	}
	virtual bool Push(T data) {
		if (Top < Size-1) {
			Top++;
			Stack[Top]=data;
			return true;
		} else {
			return false;
		}
	}
	virtual T Pop() {
		return Stack[Top--];
	}
	virtual int GetTop() { return Top; }
	virtual T GetValue(int n) { return Stack[n]; }
};

참고