Data Structure2 [Data Structure] Stack 소스코드 #include template 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 s; s.push(1); s.push(2); s.push(3); printf("%d\n", s.top()); s.pop(); printf("%d\.. 2020. 10. 24. [Data Structure] Queue 소스코드 #include template class Queue { public: int head; int tail; int size; T* value; Queue(int sz) { size = sz; head = tail = 0; value = new T[size+1]; } ~Queue() { delete[] value; } void enqueue(T val) { if (!isFull()) { value[tail] = val; tail = (tail + 1) % size; } else { puts("quque is full"); } } T dequeue() { if (!isEmpty()) { T val = value[head]; head = (head+1) % size; return val; } else.. 2020. 10. 24. 이전 1 다음