/* ** stack.coh ** ** Made by yann koeth ** Wed Mar 31 15:55:55 2010 */ class Stack { private: var data; var next; var count; public: Stack(); Push(data); GetNext(); GetCount(); GetArray(); }; Stack::Stack() { next = NULL; count = 0; } Stack::Push(data) { var ne = new(Stack); ne->data = data; ne->next = this; ne->count = ++this->count; this = ne; return (this); } Stack::GetNext() { return (next); } Stack::GetCount() { return (count); } Stack::GetArray() { var arr = new(array, count + 1); var i, stack; for (i = 0, stack = this; i < count && stack; i++, stack = stack->next) arr[i] = stack->data; arr[i] = NULL; return (arr); }