广义线性表幻灯片课件.ppt

广义线性表幻灯片课件.ppt

ID:59544334

大小:186.00 KB

页数:27页

时间:2020-11-09

广义线性表幻灯片课件.ppt_第1页
广义线性表幻灯片课件.ppt_第2页
广义线性表幻灯片课件.ppt_第3页
广义线性表幻灯片课件.ppt_第4页
广义线性表幻灯片课件.ppt_第5页
资源描述:

《广义线性表幻灯片课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、广义线性表广义表的存储广义表的结点标志域表头指针表尾指针tag=1hptp表结点1标志域原子域表尾指针tag=0atomtp表结点2广义表结点类定义enumElemTag{ATOM,LIST};templatestructGLNode{ElemTagtag;union{Tatom;GLNode*hp;}GLNode*tp;};tag=1hptp表结点1tag=0hptp表结点2广义表的链表表示1^^A1^B0e^C1^0e1^0a0b0c^D1^1^11^E1^0a1^广义表结点类的补充定义enu

2、mElemTag{ATOM,LIST};templateclassGLNode{ElemTagtag;union{Tatom;GLNode*hp;}GLNode*tp;public:GLNode(constT&item,GLNode*t=NULL);GLNode(GLNode*h,GLNode*t);ElemTagGetType(){returntag;}T&GetValue();GLNode*Next();VoidSetValue(GLNode&x);};广义表结点类的实现template

3、assT>GLNode::GLNode(constT&item,GLNode*t=NULL){tag=ATOM;atom=item;temp.tp=t;}templateGLNode::GLNode(GLNode*h,GLNode*t){tag=LIST;hp=h;tp=t;}templateT&GLNode::GetValue(){if(tag==ATOM)returnatom;elsecout<<“novalue”;return0;}template

4、lassT>GLNode*GLNode::Next(){returntp;}template VoidGLNode::SetValue(GLNode&x) {tag=x.tag;tp=x.tp; if(tag==ATOM) atom=x.atom; else hp=x.hp; }广义表类定义templateclassGList{GLNode*first;GLNode*GetNode(constT&item,Node*t=NULL);GLNode*

5、GetNode(Node*h=NULL,Node*t=NULL);voidFreeGLNode(GLNode*p);voidCopyList(constGList&list);voidClearGList();public:GList(void);Glist(GLNode*p);Glist(GLNode&x,Glist&list);Glist(GList&head,Glist&tail);GList(constGList&list);~GList(void);GLNode*First

6、();GLNode&Head();GLNode*Tail();voidPush(GLNode&x);//addnodexasheadvoidSetHead(GLNode&x);//replacextoheadvoidSetTail(Glist&L);};templateGlist::GList(constGList&list){CopyList(list):}templateGLNode*Glist::GetNode(constT&item,Node<

7、T>*t=NULL){GLNode*p=newGLNode;p->tag=ATOM;p->atom=item;p->tp=t;returnp;}templateGLNode*Glist::GetNode(Node*h=NULL,Node*t=NULL){GLNode*p=newGLNode;p->tag=LIST;p->hp=h;p->tp=t;returnp;}templatevoidGlist::FreeGLNode(GLN

8、ode*p){freep;}templateGLNode*GList::CopyList(constGList&list){GLNode*p,*q;q=this;if(list.first!=NULL){p=newGLNode;p->tag=list.first->tag;if(p.->tag==ATOM)p->atom=li

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。