Stack 的C++实现

来源:互联网 发布:软件测试名词解释 编辑:程序博客网 时间:2024/05/21 16:02
template<typename T>class Stack{public:Stack(int s = 10);~Stack();public:T top();void push(T t);T pop();bool empty();int size();private:int count;int capacity;T* array;};template<typename T>Stack<T>::Stack(int s){count = 0;capacity = s;array = new T[capacity];}template<typename T>Stack<T>::~Stack(){delete[] array;array = NULL;}template<typename T>T Stack<T>::top(){if (count <= 0){return NULL;}return array[count - 1];}template<typename T>void Stack<T>::push(T t){if (count >= capacity)return;array[count++] = t;}template<typename T>T Stack<T>::pop(){if (count <= 0){return NULL;}return array[--count];}template<typename T>bool Stack<T>::empty(){return count == 0 ? true : false;}template<typename T>int Stack<T>::size(){return count;}

原创粉丝点击