早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

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

题目

设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))。