第九周專案4 廣義表演算法庫及應用

2021-07-24 03:48:03 字數 2112 閱讀 2744

/*  

* 煙台大學計算機與控制工程學院  

* 完成日期:2023年10月28日  

*  * 問題描述:建立廣義表演算法庫

* 輸入描述:

* 程式輸出: */

**:1.標頭檔案:glist.h,包含定義廣義表資料結構的**、巨集定義、要實現演算法的函式的宣告;

[csharp]view plain

copy

#ifndef glist_h_included

#define glist_h_included

typedef char

elemtype;  

typedef struct

lnode  

val;  

struct

lnode *link;         

//指向下乙個元素

} glnode;                       //廣義表節點型別定義

intgllength(glnode *g);        

//求廣義表g的長度

intgldepth(glnode *g);     

//求廣義表g的深度

glnode *creategl(char

*&s);     

//返回由括號表示法表示s的廣義表鏈式儲存結構

void

dispgl(glnode *g);                 

//輸出廣義表g

#endif // glist_h_included

2.原始檔:glist.cpp,包含實現各種演算法的函式的定義

[csharp]view plain

copy

#include 

#include 

#include "glist.h"

intgllength(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)  

}  }  

3.在同一專案(project)中建立乙個原始檔(如main.cpp),編制main函式,完成相關的測試工作。 例:

[csharp]view plain

copy

#include 

#include "glist.h"

intmain()  

執行結果:

第九周專案4 廣義表演算法庫及應用

檔名稱 第9周專案4 廣義表演算法庫 4.1 cpp 作 者 高露 完成日期 2015年11月6日 版 本 號 v1.0 問題描述 1 建立廣義表演算法庫,包括 頭文glist.h,定義資料型別,宣告函式 原始檔glist.cpp,實現廣義表的基本運算,主要演算法包括 int gllength gl...

第九周專案4 廣義表演算法庫及應用

檔名稱 專案4 1.cbp 作 者 張晗 完成日期 2015年11月6日 版 本 號 v1.0 問題描述 1 建立廣義表演算法庫,包括 頭文glist.h,定義資料型別,宣告函式 原始檔glist.cpp,實現廣義表的基本運算,主要演算法包括 int gllength glnode g 求廣義表g的...

第九周專案4 廣義表演算法庫及應用

檔名稱 廣義表演算法庫 1 cpp 作 者 張雯婧 完成日期 2016年10月24日 版 本 號 v1.0 問題描述 1 建立廣義表演算法庫,包括 頭文glist.h,定義資料型別,宣告函式 原始檔glist.cpp,實現廣義表的基本運算,主要演算法包括 int gllength glnode g ...