广义表的存储结构
广义表中元素类型不统一,在Java语言的环境下难以用顺序结构存储。链式结构则相对灵活,可以解决广义表的递归和共享问题,所以常用链式存储结构来对广义表进行存储。 如果广义表不空,则可以分解为表尾和表头;反之,一对确定的表头和表尾可以唯一的确定一个广义表。据此特点的表示法成为“头尾表示法”。 结点结构有两种——表结点(存储另一个广义表)或者元素结点(单元素)。为区分,还可以设置一个单元素域,用tag标识,tag为1的时候为表结点,tag为0的时候为元素结点。
/**
* 广义表结点
* @param
*/
public class ListsNode {
/**
* 定义标识,区分元素结点和表结点
* tag == 1 -> 表结点
* tag == 0 -> 数据结点
*/
p