对广义表L=((a,b),((c,d),(e,f)))执行head(tail(head(tail(L))))操作的结果是

A. d B. e C. (e) D. (e,f )标准答案是:B
2025-02-27 15:59:58
推荐回答(5个)
回答1:

从里向外写

先是取表尾tail(L)=((c,d),(e,f)) ),然后取表头head(tail(L))=(c,d),(e,f) ),接着取表尾

tail(head(tail(L)))=( e,f ,最后取表头head(tail(head(tail(L))))=e

所以选择B

回答2:

head是去掉最外层括号,然后保留第一个,前的东西
tail是去掉head所保留的那部分以及紧随其后的那个, 注意:这里括号就不需要去掉
所以应该选D

回答3:

tail取完要加括号 别忘了这个就很容易得出答案是D

回答4:

head(tail(L))语句意思是取广义表表尾,原题语句就是对L连续两次取表尾,第一次结果是((c,d),(e,f)),然后对得到的结果((c,d),(e,f))取表尾,最终结果(e,f),选D

回答5:

根据广义表的定义表头为第一个元素,剩下的都是表尾。
所以tail(L)求的是表尾: tail(L)=(((c,d),(e,f)))
head(tail(L))=((c,d),(e,f));
tail(head(tail(L)))=((e,f));
head(tail(head(tail(L))))=e;