欢迎来到天天文库
浏览记录
ID:44010851
大小:89.00 KB
页数:9页
时间:2019-10-17
《栈的简单应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、//头文件“stack.h”#ifndefSTACK_H#defineSTACK_HtemplateclassNode{public:Node();Node(constType&date);~Node();//private:TypeDate;Node*Next;};templateclassStack{public:Stack();//Head->Date不可知~Stack();voidPuah_Head(constNode&node);voidPop_Head();Type&Top();voidMakeEmpty
2、();voidTravel();boolIsEmpty();//private:Node*Head;};templateStack::Stack(){Head=newNode;}templatevoidStack::MakeEmpty(){Node*cur=Head;for(;Head->Next!=NULL;){cur=Head->Next;Head->Next=cur->Next;deletecur;}}templateStack::~Stac
3、k(){if(Head->Next!=NULL)MakeEmpty();deleteHead;}templatevoidStack::Puah_Head(constNode&node){Node*cur=newNode(node);if(Head->Next!=NULL)cur->Next=Head->Next;Head->Next=cur;}templatevoidStack::Pop_Head(){Node*cur=newNode;if(Head->N
4、ext==NULL)return;cur=Head->Next;Head->Next=cur->Next;deletecur;}templateType&Stack::Top(){if(Head->Next==NULL){cout<<"Stack为空"<Date;}returnHead->Next->Date;}templatevoidStack::Travel(){Node*cur=newNode;cur=Head;for(;cur->Next!=NULL
5、;){cur=cur->Next;cout<Date<boolStack::IsEmpty(){if(Head->Next==NULL)returntrue;returnfalse;}templateNode::Node():Next(NULL){;}templateNode::Node(constType&date):Date(date),Next(NULL){;}templateNode::~Node(
6、){;}#endif//主程序cpp文件“main.cpp”#include#include#include"string"#include"stack.h"usingnamespacestd;char*Change(intnumber,inta);//把number转换为a进制的一个数;stringPostFix(stringexp);//把一个中缀改为后缀;intFindNumber(chara);//把字符转换为数字intPost(stringpostfixexp);//计算后缀表达式char*n;intShuRu(string,int&i)
7、;//从第i个字符开始,将其到空格之前的所有字符换算成intvoidmain(){//字符串格式每个操作数或者操作符号后面加一个空格,最后一个操作符号可以不加//数据为intstringa="3424665+542/85*544-7655+";intb=Post(a);cout<
此文档下载收益归作者所有