70,040
社区成员
发帖
与我相关
我的任务
分享
typedef int KeyType;
typedef struct ElemType{
KeyType key;
char name[20];
int age;
};
typedef struct BiTNode{ //定义二叉树结构
ElemType data;
struct BiTNode *left;
struct BiTNode *right;
}BiTNode,*BiTree;
/* 栈中操作的是指向树结点的指针 */
typedef struct{ //栈结构
BiTree base; //在栈构造之前和销毁之后,base的值为NULL
BiTree top; //栈顶指针
int stacksize; //当前已分配的存储空间,以元素为单位
}SqStack;
//出栈操作
BiTree Pop(SqStack &S,BiTree &e){
if(S.top==S.base){
printf("栈为空!\n");
exit(-2);
}
e=*(--S.top); //这句代码编译不通过
return e;
}
这的确是一个非递归的二叉排序树遍历程序,是用栈实现的,因为程序太长,就只贴了出错的这一部分。我先按你说的改下看看吧[/quote]
好吧 我两理解有分叉; 我想说的是某些时候你可以先理解手头工作再去做了; 不是按谁说的改下看看; 好吧 就说这么多了 你比我勤奋。。 其它就不纠结了~ 继续努力。。[/quote]
问题已经解决了,多谢!
这的确是一个非递归的二叉排序树遍历程序,是用栈实现的,因为程序太长,就只贴了出错的这一部分。我先按你说的改下看看吧[/quote]
好吧 我两理解有分叉; 我想说的是某些时候你可以先理解手头工作再去做了; 不是按谁说的改下看看; 好吧 就说这么多了 你比我勤奋。。 其它就不纠结了~ 继续努力。。
这的确是一个非递归的二叉排序树遍历程序,是用栈实现的,因为程序太长,就只贴了出错的这一部分。我先按你说的改下看看吧
so 轻轻改下返回值类型就好了吧~ 所以1楼正解了~ 只是简洁..