33,311
社区成员
发帖
与我相关
我的任务
分享
COPY(Glist &T, Glist L){
if(!L)
T = NULL;
else{
MALLOC()//分配内存函数
T->tag = L->tag;
if(L->tag == ATOM) //ATOM 为0 是原子标志
T->atom = L->atom;
else{
COPY(T->ptr.hp, L->ptr.hp); //复制表头
COPY(T->ptr.tp, L->ptr.tp); //复制表尾 /*这里不明白*/
}
}
}
// COPY(T->ptr.tp, L->ptr.tp); //复制表尾 /*这里不明白*/
// 这次调用的时候..是怎么将L表中 一个结点的 尾指针 复制 到T表中的 尾结点中的
// 从函数上看 都是当L表中 尾结点是NULL 的时候.才将T表的尾指针置空,复制..
// 那么当尾结点不是空的时候, 是怎么将L表中的 一个结点的 尾指针 的所指向 到T表中,尾结点的
/*
广义表结构:
L: [1][0(此处假设表头是空表)][指向表尾的指针] --> [][][]
T: [1][0][这个指针是怎么复制的??] --> [][][]
谢谢!
*/