设L为广义表,将head(L)定义为取非空广义表的第一个元素,tail(L)定义为取非空广义表除第一个元素

15 查阅

设L为广义表,将head(L)定义为取非空广义表的第一个元素,tail(L)定义为取非空广义表除第一个元素外剩余元素构成的广义表。若广义表L=((x,y,z),a,(u,t,W)),则从L中取出原子项y的运算是( )。

A.head(tail(tail(L)))

B.tail(head(head(L)))

C.head(tail(head(L)))

D.tail(tail(head(L)))

参考答案:

C解析:广义表是函数式语言中使用的一种数据结构。根据广义表取表头和取表尾的定义,对于广义表L=((x,Y.z),a,(u,t.K)),运算head(L)-(x,y,z),而tail(L)=(a,(u t,w)),因此原子项y应从head(L)中取,对(x,Y,z)取表头可得到原子项x,因此从L中取出原子项y的运算为head(tail(head(L))。

软考中级