模板类实现堆栈:

又是为了考研,今天学习了模板类来实现堆栈;

关于堆栈,我们知道先进后出为堆栈;OK那就开始实现模板类把!

template<typename T>
class Stack{
	public:
		Stack();
		~Stack();
		bool isEmpty();
		bool isFull();
		void clearStack();
		T pop();
		void push(T &t);
	private:
		int top;
		T stack[MAX];
};

C++中用到了template和typename关键字来定义模板类和自定义类型:

函数声明中,template<typename T>在最上面,然后定义构造函数、析构函数......

在函数实现中,每一个成员函数上面也要写有:

template<typename T>以表明其模板类坚定的立场。

template<typename T>
Stack<T>::Stack(){
	top=0;
}//构造函数

template<typename T>
Stack<T>::~Stack(){
}//析构函数

template<typename T>
bool Stack<T>::isEmpty(){
	if(top==0){
		return true;
	}
	return false;
}//判断函数是否为空

template<typename T>
bool Stack<T>::isFull(){
	if(top==MAX){
		return true;
	}
	return false;
}//判断函数是否满足

template<typename T>
void Stack<T>::push(T &t){
	if(top<MAX){
		stack[top]=t;
		++top;
	}
}//压栈

template<typename T>
T Stack<T>::pop(){
	if(top>0){
		top--;
		return stack[top];
	}
	return 0;
}//出栈

template<typename T>
void clearStack(){
	top=0;
}//清空队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值