已知广义表C=(a(b,c),d)则tail(head(tail(c)))=c.是什么意思?用文字解释.谢谢

问题描述:

已知广义表C=(a(b,c),d)则tail(head(tail(c)))=c.是什么意思?用文字解释.谢谢

首先tail(c) 是取表尾操作 即结果为 ((b,c),d)
head 是取表头操作 即结果为 (b,c)
最后重复 第一步 结果为 c
再给个题目你看看吧 :
5.9 求下列广义表运算的结果:
  (1)head ((p,h,w)); (2)tail((b,k,p,h)); (3) head (((a,b),(c,d)));
  (4)tail(((a,b),(c,d))); (5)head(tail(((a,b),(c,d))));
  (6)tail(head((((a,b),(c,d)))).
答:
  (1)head ((p,h,w))=p;
  (2)tail((b,k,p,h))=(k,p,h);
  (3)head (((a,b),(c,d)))=(a,b);
  (4)tail(((a,b),(c,d)))=((c,d));
-----------------注意三和四返回结果的 区别 (取表尾运算符得到的结果一定为一个子表)
  (5)head(tail(((a,b),(c,d))))=(c,d);
  (6)tail(head(((a,b),(c,d))))=(b).