数据结构(C语言描述)问题

数据结构(C语言描述)问题void PreOrder(BiTree *root,void visit(DataType item))
{
if(root !=NULL)
{
visit(root->data);
PreOrder(root->leftChild, visit);
PreOrder(root->rightChild, visit);
}
}

这个对二叉树进行前序遍历的函数形参表中的visit函数是做什么用的?visit没有函数体又是什么意思?

visit是访问根结点抽象操作的一个简化,类型是函数指针,需要用函数名去调用,并且,参数类型、数量、次序要一致追问

还是不大明白,那还需要另外定义visit()的函数体吗?

为什么调用visit的时候不用传一个datatype的实参?

追答

遍历函数里面的visit就是调用这个函数啊,函数里面的root->data 不就是DataType 类型的
要使用肯定需要定义一个函数了,名字不一定需要是visit,就是外面调用那个先序遍历时使用的

温馨提示:答案为网友推荐,仅供参考
相似回答