好漂亮的程式碼!
// stack.h: header file class Stack { int MaxStack; int EmptyStack; int top; char* items; public: Stack(int); ~Stack(); void push(char); char pop(); int empty(); int full(); }; ------------------------------- // stack.cpp: stack functions #include "stack.h" Stack::Stack(int size) { MaxStack = size; EmptyStack = -1; top = EmptyStack; items = new char[MaxStack]; } Stack::~Stack() {delete[] items;} void Stack::push(char c) { items[++top] = c; } char Stack::pop() { return items[top--]; } int Stack::full() { return top + 1 == MaxStack; } int Stack::empty() { return top == EmptyStack; } ------------------------------- // stackmain.cpp: use stack #include#include "stack.h" int main() { Stack s(10); // 10 chars char ch; while ((ch = cin.get()) != '\n') if (!s.full()) s.push(ch); while (!s.empty()) cout << s.pop(); cout << endl; return 0; }
沒有留言:
張貼留言