C++ 求一个堆栈类模板

使用堆栈类模板进行匹配符检查... 使用堆栈类模板进行匹配符检查 展开
 我来答
bupteinstein
2012-06-28 · TA获得超过142个赞
知道答主
回答量:76
采纳率:0%
帮助的人:69.8万
展开全部
#include <stack>

std::stack<char> s;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月渊冥
2012-06-28 · TA获得超过309个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:201万
展开全部
就是这个了,望采纳。#ifndef STACK_H#define STACK_Husing namespace std;template<class elemtype>class stack{ public: stack(){head=NULL; n=0;} virtual ~stack(){head=NULL;} int length(){return n;} bool push(elemtype& );//入栈 elemtype pop();//出栈 bool empty(){return head==NULL;} void clear(); protected: int n; struct node{ node *next; elemtype data; }; node *head;};template<class elemtype>void stack<elemtype>::clear(){ node *p,*q; int i=1; p=head; while(i!=n) { q=p; delete q; p=p->next; i++; }}template<class elemtype>bool stack<elemtype>::push(elemtype &e){ node *p,*q; int j=1; if(head==NULL) head=new node; p=head; if(n==0)//表头赋值 {head->data=e; n++; return true;} else //表尾插入 { q=new node; q->data=e; while (j<n) { p=p->next; j++; } p->next=q; q->next=NULL; n++; return true;}
}template<class elemtype>elemtype stack<elemtype>::pop( ){ int j=1; node *p; p=head; while(j<n){ p=p->next; j++; } n--; return p->data;}
#endif // stack_H
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式