c++ 顺序栈的类

2024-11-21 21:32:36
推荐回答(1个)
回答1:

/*--------------------------------
(1)设计一个成员函数实现栈的初始化;
(2)设计一个成员函数实现元素入栈;
(3)设计一个成员函数实现出栈;
(4)设计一个成员函数判断栈是否空;
(5)设计一个成员函数显示栈顶元素;
(6)设计一个成员函数统计栈中元素的个数;
(7)设计一个成员函数按入栈次序显示栈中的所有元素;
(8)编写完整的程序进行演示。
------------------------------------------------*/
//我使用模板帮你实现,如果你不需要使用模板,直接将前面的那行删除,
//然后用你所需要的类型替换那个T就行了
#include
#include
using namespace std;
template//如果你不需要使用模板,删除这行,将下面的所有T替换为你所需要的类型
class Stack
{
public:
Stack()
{
Init();
}
Stack(int x)
{
m_vct.resize(x,0);
m_iTop=x-1;
m_iNum=x;
}
int Push(int x)
{
m_vct.push_back(x);
++m_iTop;
++m_iNum;
return 1;
}
int Pop()
{
--m_iTop;
--m_iNum;
return 1;
}
T Top()
{
return m_vct[m_iTop];
}//如果你不需要模板,将这个T换位你需要的类型,下同
int Count()
{
return m_iNum;
}
bool Init()
{
m_vct.resize(0,0);
m_iTop=-1;
m_iNum=0;
return 1;
}
private:
int m_iTop;
int m_iNum;
vector m_vct;
};

int main()
{
Stack a;
a.Init();
a.Push(1);
a.Push(2);
cout< a.Pop();
cout< return 0;
}
VC6.0编译通过,为了帮助你学习,特地使用模板制作,并且使用完全的标准C++