一、问题概述
广义表是非线性的数据结构,是由若干个元素组合而成的,广义表中可以有子表,类似这样的:
我们以C=(a,b,(c,d))为例,将它定义为这样的数据结构:
我们会给定字符串的形式,如:char * str = "(a,b,(c,d))"; 然后将它转化为如上的数据结构。
二、解决办法
(1)将符号'('看作是头节点,然后将是数值的部分链入当前位置的下一个位置;
(2)当遇到SUB时,就链入它的_sublink(连接子表的指针),此时可用递归(子表相当于是表的子问题);
(3)直到str为空时,广义表的数据结构创建完成。
三