資料結構之自建演算法庫 廣義表

2021-12-29 16:35:07 字數 1487 閱讀 5216

廣義演算法庫採用程式的多檔案組織形式,包括兩個檔案:

1.標頭檔案:glist.h,包含定義稀疏矩陣的三元組表示資料結構的**、巨集定義、要實現演算法的函式的宣告;

#ifndef glist_h_included

#define glist_h_included

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_included2.原始檔:glist.cpp,包含實現各種演算法的函式的定義

#include

#include

#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)

}#include

#include glist.h

int main()

資料結構之自建演算法庫 順序表

all right reserved.檔名稱 creat2.cpp 作 者 姜延鍇 完成日期 2016年9月21日 版 本 號 v1.9 問題描述 請採用程式的多檔案組織形式,在專案1的基礎上,建立 如上的兩個檔案,另外再建立乙個原始檔,編制main函 數,完成相關的測試工作。輸入描述 無 程式輸出...

資料結構之自建演算法庫 雙鏈表

本文針對資料結構基礎系列網路課程 2 線性表中第12課時雙鏈表。雙鏈表演算法庫演算法庫採用程式的多檔案組織形式,包括兩個檔案 1.標頭檔案 dlinklist.h,包含定義雙鏈表資料結構的 巨集定義 要實現演算法的函式的宣告 ifndef dlinklist h included define dl...

資料結構之自建演算法庫 順序棧

本文針對資料結構基礎系列網路課程 3 棧和佇列中第3課時棧的順序儲存結構及其基本運算實現。順序棧演算法庫採用程式的多檔案組織形式,包括兩個檔案 1.標頭檔案 sqstack.h,包含定義順序棧資料結構的 巨集定義 要實現演算法的函式的宣告 ifndef sqstack h included defi...