资源简介

实现广义表的创建,求广义表的深度,输出广义表

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “config.h“

using namespace std;

typedef enum{
ATOM //表示原子
LIST //子表
}ElemTag;

typedef struct GLNode{
ElemTag tag; //原子结点和表结点
union{
char atom; //原子结点的值域
struct {
struct GLNode *hp *tp;
}ptr; //指针域,分别指向表头和表尾
};
struct GLNode *tp; //指向下一个元素的节点
} *GList;

void sever(string &strstring &hstr)
{
int n = str.length();
int i(0)k(0);

while (i < n && (str[i] != ‘‘||k != 0))
{
if (str[i] == ‘(‘)
{
++k;
}
else if (str[i] == ‘)‘)
{
--k;
}
i++;

if (i < n)
{
hstr = str.substr(0i);
str = str.substr(i+1);
}
else
{
hstr = str;
str.clear();
}
}

void CreatGList(GList &Lstring S)
{
GList p(NULL)q(NULL);
string sub(““)hsub(““);

if (S ==

评论

共有 条评论