• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-11
  • 标签: C++  广义表  

资源简介

对广义表进行创建,输出,取表头,取表尾,复制广义表,求广义表深度

资源截图

代码片段和文件信息

#include 
using namespace std;
typedef char ElemType;
typedef struct GLNode
{
int tag;
union {
ElemType data;
GLNode *hp;
}val;
GLNode *tp;
}GLNode *GList;
void CreateGList(GList &L)//广义表的创建
{
char ch;
cin>>ch;
if(ch == ‘)‘)
{
L = 0;
return ;
}
else if(ch >=‘a‘&&ch <=‘z‘)
{
L = new GLNode;
L->tag = 0;
L->val.data =ch;
L->tp = 0;
}
else if(ch == ‘(‘)
{
L = new GLNode;
L->tag = 1;
CreateGList(L->val.hp);
if(L->val.hp == 0)
{
L->tp = 0;
return ;
}
GLNode *p;
p = L;
cin>>ch;
while(ch == ‘‘)
{
p->tp = new GLNode;
p = p->tp;
p->tag = 1;
CreateGList(p->val.hp);
cin>>ch;
}
p->tp = 0;
}
}
void DisplayGList(GList &L)//广义表的输出
{
if(L == 0)
return ;
else 

评论

共有 条评论