模板栈

来源:互联网 发布:md5加密 js 编辑:程序博客网 时间:2024/04/29 00:29
#include <iostream>using namespace std;template <typename T>class Stack{    private:    int size;    int top;    T *space;    public:    Stack(int = 10);    ~Stack()    {        delete[] space;    }    bool push(const T&);    T pop();    bool IsEmpty() const    {        return top == size;    }    bool IsFull() const    {        return top == 0;    }};template <typename T>Stack<T>::Stack(int size){    this->size = size;    space = new T[size];    top = size;}template <typename T>bool Stack<T>::push(const T &element){    if (!IsFull())    {        space[--top] = element;        return true;    }    return false;}template <typename T>T Stack<T>::pop(){    return space[top++];}int main(void){    Stack<char> S1(4);    S1.push('x');    S1.push('y');    S1.push('z');    S1.push('u');    S1.push('v');    while (!S1.IsEmpty())    {        cout << S1.pop() << endl;    }    return 0;}

 
原创粉丝点击