/*
檔名稱:專案4-1.cbp
作 者:孫立立
完成日期:2023年12月4日
版 本 號:v1.0
問題描述:(1)建立廣義表演算法庫,包括:
① 頭文glist.h,定義資料型別,宣告函式;
② 原始檔glist.cpp,實現廣義表的基本運算,主要演算法包括:
int gllength(glnode *g); //求廣義表g的長度
int gldepth(glnode *g); //求廣義表g的深度
glnode *creategl(char *&s); //返回由括號表示法表示s的廣義表鏈式儲存結構
void dispgl(glnode *g); //輸出廣義表g
③ 設計main函式,測試上面實現的演算法
輸入描述:無
程式輸出:測試資料
*/
glist.h**:
#ifndef glist_h_included
#define glist_h_included
#include #include typedef char elemtype;
typedef struct lnode
val;
struct lnode *link; //指向下乙個元素
} glnode; //廣義表節點型別定義
int gllength(glnode *g); //求廣義表g的長度
int gldepth(glnode *g); //求廣義表g的深度
glnode *creategl(char *&s); //返回由括號表示法表示s的廣義表鏈式儲存結構
void dispgl(glnode *g); //輸出廣義表g
#endif // glist_h_included
glist.cpp**:
#include "glist.h"
int gllength(glnode *g) //求廣義表g的長度
return n;
}int gldepth(glnode *g) //求廣義表g的深度
g1=g1->link; //使g1指向下乙個元素
}return(max+1); //返回表的深度
}glnode *creategl(char *&s) //返回由括號表示法表示s的廣義表鏈式儲存結構
else if (ch==')')
g=null; //遇到')'字元,g置為空
else if (ch=='#') //遇到'#'字元,表示為空表
g=null;
else //為原子字元
}else //串結束,g置為空
g=null;
ch=*s++; //取下乙個字元
if (g!=null) //串未結束,繼續構造兄弟節點
return g; //返回廣義表g
}void dispgl(glnode *g) //輸出廣義表g
if (g->link!=null)}}
main.cpp**:
#include "glist.h"
int main()
執行結果: 第九周專案四 廣義表演算法庫
完成日期 2015年11月4日 版 本 號 v1.0 問題描述 1 建立廣義表演算法庫,包括 頭文glist.h,定義資料型別,宣告函式 原始檔glist.cpp,實現廣義表的基本運算,主要演算法包括 int gllength glnode g 求廣義表g的長度 int gldepth glnode...
第九周專案四(廣義表演算法庫)
問題及 all right reserved.檔名稱 廣義表演算法庫 cpp 完成日期 2016年10月27日 版本號 v1.0 廣義演算法庫採用程式的多檔案組織形式 輸入描述 廣義表 程式輸出 廣義表的深度和長度 include include glist.h int main include i...
第九周 專案四 廣義表演算法庫
問題及 all right reserved.檔名稱 廣義表演算法庫 cpp 完成日期 2015年10月27日 版本號 v1.0 廣義演算法庫採用程式的多檔案組織形式 輸入描述 廣義表 程式輸出 廣義表的深度和長度 include include glist.h int main include i...