问题 单项选择题

设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(tai1(head(L)))

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

答案

参考答案:C

解析:

本题考查数据结构方面的基础知识。

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

判断题
单项选择题