下面代码是我在网上找到的二叉树的中序遍历非递归算法的C语言实现。我的疑问已经用问号标注,希望大家指教

[复制链接]
查看11 | 回复2 | 2012-9-5 16:57:49 | 显示全部楼层 |阅读模式
//p不为NULL或者堆栈不空
为什么不是*top>*stack???? top 和stack是两个地址, 里面存的值大小与它们在栈中的位置没有关系, 因为使用malloc开辟的一个连续的空间给栈, 所以你就可以当做top>stack是比较类似于数组下标的比较,如果解指针出来的结果将是栈中元素的值剩下的问题都是指针的问题, *符号的优先级较自加和自减操作较低, 所以你也可以看做是遍历数组时候下标的加加和减减, 如果要解出来再加加减减会改变那个地址存放的具体数据的值;如果是刚开始接触链表, 可以把它看做一个数组(其实就是一个高级数组~~)...
回复

使用道具 举报

千问 | 2012-9-5 16:57:49 | 显示全部楼层
晕了。。。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行