求廣義表深度(嚴5 30)

2021-08-19 03:56:05 字數 904 閱讀 8070

試按表頭、表尾的分析方法編寫求廣義表的深度的遞迴程式。

輸入一串以『(』開始,以『(』結束的字串,並且輸入的左右括號必須匹配,如:(),(())……

分別輸出按表頭、表尾分析方法求廣義表深度的結果,每個結果佔一行。

#include #include #include typedef char elemtype;

typedef struct lnode

val;

struct lnode *link;

} glnode;

glnode *creategl(char *&s)

else if (ch==')')

g=null;

else

}else

g=null;

ch=*s++;

if (g!=null)

if (ch==',')

g->link=creategl(s);

else

g->link=null;

return g;

}int gldepth(glnode *g)

g1=g1->link;

}return(maxg+1);

}int main()

typedef enum  elemtag;  

typedef struct glnode ptr;

}un;

} *glist;

int glistdepth(glist ls)  

/* return the depth of list */

return max + 1;//非空表的深度是各元素的深度的最大值加1

}

資料結構14 求廣義表深度(嚴5 30)

試按表頭 表尾的分析方法編寫求廣義表的深度的遞迴程式。輸入一串以 開始,以 結束的字串,並且輸入的左右括號必須匹配,如 分別輸出按表頭 表尾分析方法求廣義表深度的結果,每個結果佔一行。include includetypedef char elemtype typedef struct inodev...

求廣義表深度

試按表頭 表尾的分析方法編寫求廣義表的深度的遞迴程式。輸入一串以 開始,以 結束的字串,並且輸入的左右括號必須匹配,如 分別輸出按表頭 表尾分析方法求廣義表深度的結果,每個結果佔一行。a,b,c,d,e f g include include struct node void creategener...

廣義表的建立,遍歷,求深度

include typedef char atomtype typedef enum elemtag atom 0,表示原子 list 1,表示子表 typedef struct glnode htp 表結點的指標域htp,包括 表頭指標域hp和表尾指標域tp atom htp atom htp 是...