18.广义表A=(a,b,(c,d),(e,(f,g))),表头是 ;表尾是 ;长度为 ;深度为 ;H(T(H(T(T(A)))))的值为 ;f表示为 。
时间: 2024-03-29 20:39:02 浏览: 29
广义表A的表头是a,表尾是(b,(c,d),(e,(f,g)))。
广义表A的长度为5,即A中包含5个元素。
广义表A的深度为3,因为A的表头a是一个原子,深度为1,而A的表尾是一个包含三个子表的表,深度为2,而子表中又包含子表,深度为3。
H(T(T(A)))的结果是(b,(c,d),(e,(f,g))),然后再对其取尾,结果为(c,d),(e,(f,g))。接着,对该表的头部取头,结果为c。因此,H(T(H(T(T(A)))))的值为c。
广义表f的表示方式为f(g,h),其中g表示广义表的表头,h表示广义表的表尾。
相关问题
用c语言写一个广义表 A=((a,b,c),(d,e,f))
您好!以下是用C语言编写广义表的代码:
```
#include<stdio.h>
#include<stdlib.h>
typedef struct GLNode{
int tag; // 标志域,tag=1为原子,tag=0为子表
union{
char atom; // 原子结点的值域
struct GLNode* hp; // 子结点指针
}val;
struct GLNode* tp; // 指向下一个子节点
}*GList;
void CreateGList(GList *L, char* str); // 创建广义表
void PrintGList(GList L); // 输出广义表
void CreateGList(GList *L, char* str){
if(!L) return;
char c = *str++; // 获取第一个字符
if(!c) *L = NULL; // 如果字符串为空,则广义表也为空
else{
*L = (GList)malloc(sizeof(struct GLNode)); // 分配内存
if(c == '('){ // 如果当前字符为'(',则说明是子表
(*L)->tag = 0; // 标记为子表
(*L)->val.hp = NULL; // 初始化子结点指针
CreateGList(&((*L)->val.hp), str); // 递归创建子表
c = *str++; // 获取下一个字符
}else{
(*L)->tag = 1; // 否则为原子
(*L)->val.atom = c; // 存储原子值
c = *str++; // 获取下一个字符
}
(*L)->tp = NULL; // 初始化下一个子节点指针
if(c == ','){ // 如果下一个字符为',',则说明还有兄弟子节点
CreateGList(&((*L)->tp), str); // 递归创建兄弟节点
}
else if(c == ')'){ // 如果下一个字符为')',则子节点创建完毕
return;
}
}
}
void PrintGList(GList L){
if(!L) return;
if(L->tag == 1){ // 如果当前节点为原子
printf("%c", L->val.atom);
}else{ // 否则为子表
printf("(");
PrintGList(L->val.hp); // 递归输出子表
printf(")");
}
if(L->tp) printf(","); // 如果有兄弟子节点,则输出','
PrintGList(L->tp); // 递归输出兄弟子节点
}
int main(){
char* str = "((a,b,c),(d,e,f))";
GList L;
CreateGList(&L, str);
PrintGList(L);
printf("\n");
return 0;
}
```
希望对您有帮助~
广义表LS=((a,(b)),c,(d),(e,f)
这是一个广义表,可以表示为 LS = (a, (b)), c, (d), (e, f)。
其中,LS 中有五个元素,分别是 a, (b), c, (d), (e, f)。
其中,(b) 也是一个广义表,它只有一个元素 b。
LS 中的元素可以是单个元素,也可以是另一个广义表。
具体来说,a, b, c, d, e, f 都是单个元素,而 (b) 和 (e, f) 都是广义表,它们分别有一个元素和两个元素。
需要注意的是,广义表中的元素可以是单个元素或广义表,因此广义表是一个递归定义的结构。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)