数据结构中的广义列表
在本节,我们将了解广义列表。广义列表可定义如下 −
广义列表 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