#include<iostream>
#define Maxsize 100//栈最大长度
using namespace std;
template<class numtype>//模板类
class stack
{
public:
int size()//元素个数
{
return (top+1);
}
void push(int data);//出栈
numtype pop();//入栈
stack()
{
top = -1;
}
private:
numtype Element[Maxsize];//元素储存于数组中
int top;//栈顶标识
};
template<class numtype>
void stack<numtype>::push(int data)//入栈函数
{
if (top == (Maxsize - 1))
{
cout << "堆栈已满";
}
else
{
Element[++top] = data;
}
}
template<class numtype>
numtype stack<numtype>::pop()//出栈函数
{
if (top == -1)
{
cout << "堆栈为空,无法出栈";
return 0;
}
else
{
return(Element[top--]);
}
}
void main()
{
stack<int> S;//定义 栈对象 其中:stack<元素数据类型> 对象名
for (int i = 100; i < 150; i++)
{
S.push(i);
}
cout << endl <<"该堆栈有"<< S.size() << "个元素" << endl;
for (int i = 0; i < 51; i++)
{
cout << S.pop()<< endl;
}
system("pause");
}
c++中 stack的简单实现
最新推荐文章于 2024-06-26 13:41:53 发布