数据结构(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,就是外面调用那个先序遍历时使用的

温馨提示:内容为网友见解,仅供参考
无其他回答

数据结构(C语言版),求高手解决。。
1.二叉树是度为2的有序树( )【答案】× 2.完全二叉树一定存在度为1的结点( )【答案】× 3.深度为K的二叉树中结点总数≤2k-1( )【答案】√ 4.由一棵二叉树的先序序列和后序序列可以惟一确定它( )【答案】× 5.完全二叉树中,若一个结点没有左孩子,则它必是树叶...

关于数据结构的问题,用C语言描述
1.栈、队列的定义及其相关数据结构的概念,包括:顺序栈,链栈,共享栈,循环队列,链队等。栈与队列存取数据(请注意包括:存和取两部分)的特点。2.递归算法。栈与递归的关系,以及借助栈将递归转向于非递归的经典算法:n!阶乘问题,fib数列问题,hanoi问题,背包问题,二叉树的递归和非递归遍历问题,图的深度遍历与栈的关系...

在数据结构中(C语言描述),这个是什么意思?求分析
这就是c语言定义的一个结构体,sqstack是结构体的名字,也就相当于一个int一样,可以在后面定义内容包含 SElemType *base;SElemType *top;int stacksize;的对象,例如SqStack a;a中就包含顶点指针 *top,底指针*base,和结构体长度 stacksize。栈就是一个空间,相当于又结构体累加起来的一个空...

C语言版的数据结构问题:数据结构和数据类型的关系?
数据结构 用 struct 定义 比如: struct A {int a, char b, A *p} *pA;那么A属于一个数据结构,a,b,p都属于数据元素。A的初始大小是四个字节,既元素最大的一个的空间。。。里面的成员同时存在,各自有各自的地址,互不干扰。既pA->a,pA->b,pA->p是可以同时存在滴。数据类型 用...

数据结构的习题(C语言版)
第一个问题,分析下要求,可以知道要做的事情是合并两个数组到一个数组里去,数组C的长度是AB之和。表C的第一个字符不是A的第一个字符就是B的第一个字符。因此接下来要做的事情就是做一个长度为AB之和的循环,每一次找出A或B中的最小元素,存到C里面去,循环结束,C就自动有了。第二个问题...

关于数据结构(C语言)的几个题
1.随意画几个二叉树就知道了,这里空链域用ε表示,数一数结点个数与ε个数就知道是n+1了 2.具体过程在图中给出。3.第一步将数据(假设为e)放入s的data中;第二步s的后继指向q的后继节点;第三步q的后继指向s 4.查找72只需2步:第一步:设立low、high与mid指针,将72与mid指向的值...

一道数据结构(c语言描述)题,希望大佬帮我看看,萌新不会?
else if(c=='*'){\/\/ t.r=a.r*b.r-a.i*b.i;t.i=a.r*b.i+b.r*a.i;} else if(c=='\/'){\/\/\/ t.r=(a.r*b.r+a.i*b.i)\/(b.r*b.r+b.i*b.i);t.i=(a.i*b.r-a.r*b.i)\/(b.r*b.r+b.i*b.i);} return t;} int main(int argc,char *argv[])...

求解数据结构c语言中串的问题
在C语言中处理字符串操作时,理解基础函数的用法至关重要。举例来说,如果字符串s1和m之间仅由一个'号分隔,而无空格存在,字符串长度则应为13。函数SubString(s1,8,5)的作用是从字符串s1的第8个字符开始,提取连续的5个字符,结果为"tuden"。函数index(s1,'u')则在字符串s1中搜索字符'u',若...

有关数据结构(C语言)的判断题?
1.错.链式存储逻辑上相邻的结点物理上不必相邻,逻辑上的前后顺序实际由指针实现.2.错.链式存储和顺序存储各有优点,适用的情况不同 3.正确.4.正确.5.正确.6.错.深度是指组成该树各结点的最大层次.7.错.叶子节点就没有子树,也可能有的节点有且只有一棵子树.8.正确.9.正确.10.正确....

数据结构(c语言版)求助,我想了好久都没想出来?
直至②执行(n+1)次后返回至①执行下一次,如此往复循环直至①执行(n+1)次后循环结束。也就是 ①每执行一次,②执行(n+1)次,③执行 n 次 ;②每执行一次,④执行(n+1)次,⑤执行 n 次 ;所以:②的执行次数是 n ✖(n+1)=n(n+1)③的执行次数是 n ✖ n=n2...

相似回答