소스코드
#include <cstdio>
template<class T> class Stack {
public:
    int t;
    T* value;
    Stack() {
        t = -1;
        value = new T[100];
    }
    ~Stack() {
        delete[] value;
    }
    void push(T val) {
        value[++t] = val;
    }
    
    void pop() {
        if (t >= 0)
            t--;
        else {
            puts("stack is empty()");
        }
    }
    T top() {
        if (t != -1)
            return value[t];
        else
            return -1;
    }
};
int main()
{
    Stack <int> s;
    s.push(1);
    s.push(2);
    s.push(3);
    printf("%d\n", s.top()); s.pop();
    printf("%d\n", s.top()); s.pop();
    printf("%d\n", s.top()); s.pop();
    printf("%d\n", s.top()); s.pop();
}
공부한 것을 정리하기 위한 기록입니다.
틀린 부분이 있다면 부드럽게 알려주세요.
'Data Structure' 카테고리의 다른 글
| [Data Structure] Queue (0) | 2020.10.24 | 
|---|
댓글