以二叉链表为存储结构,编写非递归的前序遍历算法
typedef struct node
{datatype data;
struct node *lchild,*rchild;
}bitree;
bitree *t,*root;
void DLR(bitree *t)
{
bitree *s[n+1];//指针数组,元素为结点的指针
int a=0;
t=root;
while(t!=NULL || a!=0)
{ while(t!=NULL) {visit(*t);s[++a]=t;t=t->lchild;}//找到最左的结点
if(a!=0) s[a--]=t;t=t->rchild;
}
}
有没有大佬能解释一下这个代码的意思呀,有点看不懂