数据结构之建立二叉树

例如 str---A(B(D(,G)),C,(E,F))ide


扫描采用括号表示法表示二叉树的字符串 读到的符号为ch对象


使用一个栈保存双亲结点字符串


引入一个变量k 做用是指定其后处理的是左孩子仍是右孩子it

k=1 处理左孩子 k=2 处理右孩子class


状况以下 变量

遇到一个实实在在的字母时建立一个节点二叉树

1 遇到 ch=左括号  将前面建立的结点做为父节点进栈,置k=1,表示其后的结点将做为这个节点的左孩子di

2 遇到 ch=逗号 表示其后面建立的结点为右孩子结点(结点指的是实实在在的字母 不然无效)置k=2view

3遇到 ch=右括号 表示栈中结点的左右孩子处理完毕,退一次栈vi


可是建立过程要以始终栈顶元素为父结点为对象

相关文章
相关标签/搜索