1. 程式人生 > >廣義表最基本的操作:取表頭head(LS)與取表尾tail(LS)

廣義表最基本的操作:取表頭head(LS)與取表尾tail(LS)

牛客網考題:

已知廣義表: A=(a,b), B=(A,A), C=(a,(b,A),B), 求下列運算的結果:

tail(head(tail(C))) =(  )

head() 返回列表的第一個元素;

tail() 返回列表的刪去第一個元素之後的剩餘列表;

所以,

tail(C)=((b,A),B);

head(tail(C))=head(   ((b,A),B)   )=(b,A)

tail(head(tail(C)))=tail((b,A))=(A)

注意,head返回的是元素(去掉最外層括號),tail返回的是集合(保留括號)。

例:LS=(a,(b,c,d))
head(LS)=a
tail(LS)=((b,c,d))
head(tail(LS))=(b,c,d)
tail(tail(LS))=()
head(head(tail(LS)))=b
tail(head(tail(LS)))=(c,d)
head(tail(head(tail(LS))))=c
tail(tail(head(tail(LS))))=(d)
head(tail(tail(head(tail(LS)))))=d
tail(tail(tail(head(tail(LS)))))=()

轉載地址:http://blog.sina.com.cn/s/blog_4d6e44860100c1fb.html