分类：电脑/网络-程序设计-C/C++
问题：从广义表L中取出原子t的运算已知广义表L=((x,y,z),a, 
已知广义表L=((x,y,z),a,(u,t,w)),求：从L表中取出t的运算过程．注：求广义表L的表头运算是head[L]    求广义表L的表尾运算是tail[L]谢谢   
回答：定义 traverse(S) 遍历表S中的节点p
定义 first(S) 取S中的第一个节点
定义 next(S,p) 取S中的节点p的下一个节点，如果已取完，返回空
定义 is_leaf(p) 节点p是否为叶子，就是数据
定义 is_node(p) 节点p是否为节点，就是子表


traverse(S)
{
p=first(S);
do
{
if(is_leaf(p))
{
到达叶子
return;
}
else if(is_node(p))
{
traverse(p);
p=next(S,p)
}

}while(p)//do
}//traverse