2个回答
展开全部
#include <stack>
std::stack<char> s;
std::stack<char> s;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是这个了,望采纳。#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
}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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询