首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

:用C++编写一个关于栈操作的类

2012-04-10 
求助:::用C++编写一个关于栈操作的类求助 :::编写一个类,实现简单的栈。栈中有以下操作,元素入栈,读出栈顶

求助:::用C++编写一个关于栈操作的类
求助 :::
编写一个类,实现简单的栈。栈中有以下操作,元素入栈,读出栈顶元素,退栈,判断栈空,如果栈溢出,程序停止,栈的数据成员有10个整型数组构成。先后做如下操作:
创建栈
将10入栈
将12入栈
将14入栈
读出并输出栈顶元素
推栈
读出并输出栈顶元素。 

谢谢了
谢谢了
谢谢了
谢谢了
谢谢了
谢谢了
谢谢了

[解决办法]
不考虑线程安全

C/C++ code
template <class T>class CMyQueue{public:    void push(const T& t)    {        if(muiSize < muiMaxSize)        {            if(muiBack >= muiMaxSize)            {                muiBack = 0;            }            m_TList[muiBack++] = t;            muiSize++;        }    }    void pop()    {        if(muiSize > 0)        {            if(muiFront >= muiMaxSize)            {                muiFront = 0;            }            muiSize--;            muiFront++;        }    }    unsigned int size() const    {        return muiSize;    }    const T& back() const    {            if(muiSize > 0)        {            return  m_TList[muiBack];        }        return NULL;        }    bool empty() const    {        return (muiSize == 0);    }    const T& front() const    {        if(muiSize > 0)        {            return  m_TList[muiFront];        }        return NULL;    }    CMyQueue(unsigned int auiMaxSize)    {        muiFront = 0;         muiBack = 0;        //创建队列缓冲区        muiMaxSize = auiMaxSize;        m_TList = new T[auiMaxSize];        }    ~CMyQueue()    {        delete [] m_TList;    }private:    //限制使用    CMyQueue(){};    CMyQueue(const CMyQueue& aonther){};    CMyQueue& operator = (const CMyQueue& another){};private:    unsigned int muiMaxSize;        //队列最大长度    unsigned int muiSize;            //队列中当前个数    unsigned int muiFront;            //队列第一个元素位置    unsigned int muiBack;            //队列最后一个元素位置    T* m_TList;}; 

热点排行