資料結構中的廣義列表
在本節,我們將瞭解廣義列表。廣義列表可定義如下 −
廣義列表 L 是 n 個元素的有限序列(n ≥ 0)。元素 ei 既可以是原子(單個元素),也可以是另一個廣義列表。不是原子的元素 ei 將是 L 的子列表。假設 L 是 ((A, B, C), ((D, E), F), G)。此處 L 有三個元素子列表 (A, B, C)、子列表 ((D, E), F) 和原子 G。子列表 ((D, E), F) 又有兩個元素:一個子列表 (D, E) 和原子 F。
在 C++ 中,我們可以像下面一樣定義廣義列表結構 −
class GeneralizedListNode{
private:
GeneralizedListNode *next;
bool tag;
union{
char data;
GeneralizedListNode *down;
};
};因此,如果標記為真,則由節點表示的元素是一個子列表。down 指向子列表中的第一個節點。如果標記為假,則該元素為原子。next 指標指向列表中的下一個元素。列表將如下所示。

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP