구현 - 배열기반 스택
2018. 3. 3. 01:57
template <class T, size_t N>
class ArrayStack
{
private:
size_t size = 0;
T data[N];
public:
bool isFull()
{
return size == N;
}
bool isEmpty()
{
return size == 0;
}
void push(T d)
{
if (isFull()) throw exception("stack is full");
data[size++] = d;
}
T top()
{
if (isEmpty()) throw exception("stack is empty");
return data[size - 1];
}
void pop()
{
if (isEmpty()) throw exception("stack is empty");
data[--size];
return
}
T peekAndPop()
{
if (isEmpty()) throw exception("stack is empty");
return data[--size];
}
ArrayStack() {}
~ArrayStack() {}
};
peekAndPop은 예제에서 쓸려고 만듬.
'프로그래밍' 카테고리의 다른 글
구현 - 스택 응용 문제 - 중위계산 (0) | 2018.03.03 |
---|---|
구현 - 스택 응용 문제 - 후위계산 (0) | 2018.03.03 |
구현 - 싱글 링크드 리스트 ver2 (0) | 2018.02.27 |
구현 - 싱글 링크드 리스트 ver1 (0) | 2018.02.27 |
구현 - 일반적인 재귀용법들 (0) | 2018.02.24 |