-
-
汇编遍历二叉树,请问哪里不对?
-
发表于:
2014-4-29 19:33
4346
-
mov EbX,1871d4h
MOV EbX,[EbX]
add EbX,64h
MOV EbX,[EbX];计算二叉树树根地址
invoke PrintDTree, ebx;调用遍历函数,开始递归遍历二叉树操作
;名称:PrintDTree
;功能:利用递归遍历输出二叉树
;参数:_pDTree = 二叉树节点指针
;返回:无
PrintDTree proc _pDTree:DWORD
push edx
mov edx, _pDTree
assume edx:ptr DTREENODE
mov al,[edx+15]
.if al==0;二叉树结束标志判断
invoke SetDlgItemInt,hDllInst,IDC_INFO,edx,FALSE;提示用的,用来显示EBX应该是变化的
invoke Sleep,1000
invoke PrintDTree, [edx].lChildNode;递归调用左树
invoke PrintDTree, [edx].rChildNode;递归调用右树
.endif
pop edx
ret
PrintDTree endp
就这么几行简单的东西,为什么就是不对呢?读二叉树老是错。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!