c++中如何用模版类定义链式堆栈,(最好用完整的程序举例)。

 我来答
蝶翼的罪
2012-05-16 · 超过21用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:45.3万
展开全部
随手写了一个,楼主可自己去琢磨
#include<iostream>
using namespace std;

template<class T>
class LinkStack{
public:
LinkStack()
{
top=NULL;
}
~LinkStack()
{}

void SetEmpty()
{
node *temp;
while(top != NULL)
{
temp = top;
top=top->next;
delete temp;
}
}
bool IsEmpty()
{
return (top == NULL);
}
bool Push(T t)
{
node *temp = new node();
if(temp == NULL)
return false;
temp->data = t;
temp->next = top;
top = temp;
return true;
}
T Pop()
{
if(IsEmpty())
{
cout<<"stack is empty!"<<endl;
return 0;
}
T a=top->data;
node *temp= top;
top=top->next;
delete temp;
return a;
}
private:
struct node{
T data;
node *next;
};
node *top;
};

int main()
{
LinkStack<double> p;
p.Push(2.2);
p.Push(3.3);
p.Push(4.4);
cout<<p.Pop()<<"\t";
cout<<p.Pop()<<"\t";
cout<<p.Pop()<<endl;
p.Push(2.2);
p.Push(3.3);
p.Push(4.4);
p.SetEmpty();
cout<<p.Pop()<<endl;
return 0;
}
chiconysun
2012-05-13 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2609万
展开全部
找一本用模板描述的数据结构教材,里面都有的,主要思想就是分结点类和栈类(当然也可以合二为一)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式