GetTail【GetHead【GetTail【((a,b),(c,d))】】】。

 考虑广义表的头尾链表表示:

typedef enum {ATOM,LIST}ElemTag;
typedef struct GLNode{
	ElemTag tag;
	union{
		AtomType atom;
		struct{ struct GLNode *hp,*tp;} ptr;
	}
}*GList;

 第一步,取广义表 ( ( a , b ) , ( c , d ) ) ((a,b),(c,d)) ((a,b),(c,d))的表尾:在对广义表进行取头尾操作时,尤其要注意,所取出来的广义表尾必定是广义表。因此,第一步取广义表尾时,取得的广义表为表尾为空的广义表,即 ( ( c , d ) ) ((c,d)) ((c,d))
 第二步,取广义表 ( ( c , d ) ) ((c,d)) ((c,d))的表头。显然,该表是一个表尾为空,表头为广义表的广义表,因此取表头之后结果为 ( c , d ) (c,d) (c,d)
 第三步,取广义表 ( c , d ) (c,d) (c,d)的尾。所取出的广义表尾仍然为广义表。因此,所取出的表尾是一个表头为原子类型的,表尾为空的广义表,即 ( d ) (d) (d)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值