求助:::用C++编写一个关于栈操作的类
求助 :::
编写一个类,实现简单的栈。栈中有以下操作,元素入栈,读出栈顶元素,退栈,判断栈空,如果栈溢出,程序停止,栈的数据成员有10个整型数组构成。先后做如下操作:
创建栈
将10入栈
将12入栈
将14入栈
读出并输出栈顶元素
推栈
读出并输出栈顶元素。
谢谢了
谢谢了
谢谢了
谢谢了
谢谢了
谢谢了
谢谢了
[解决办法]
不考虑线程安全
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;};