早教吧 育儿知识 作业答案 考试题库 百科 知识分享

从广义表L=((x,y,z),a,(u,t,w)),如何取出原子t?

题目详情
从广义表L=((x,y,z),a,(u,t,w)),如何取出原子t?
▼优质解答
答案和解析
什么语言?假定取广义表头的操作是getHead(),取表尾的操作是getTail(),那么:
getTail(L)得到的是(a,(u,t,w))
getTail(getTail(L))t得到的就是((u,t,w))
getHead(getTail(getTail(L)))得到的就是(u,t,w)
getTail(getHead(getTail(getTail(L))))得到的就是((t,w))
getHead(getTail(getHead(getTail(getTail(L)))))得到的就是(t,w)
getHead(getHead(getTail(getHead(getTail(getTail(L))))))得到的就是t.
这里要注意的是,getHead得到的是一个原子,而getTail得到的却是原子外组成的新的广义表,不管是只有一个元素,但也是一个广义表,而不是直接的元素.