今天是我打卡的第四十六天了!
今天写了二叉树的递归遍历的代码,写迭代式的时候出现了很大的问题!个虐自己基础不是很好。最近多花时间在数据结构上吧!java什么的放一放,基础才是关键。
话不多说上代码!
void CreateTreeNode(TreeElement * T)//T 是 root 的地址 *T 是值 **T是指向成员 { TreeType ch; scanf_s("%c", &ch); if (ch == ' ') { (*T) = NULL; } else { (*T) = (TreeNode *)malloc(sizeof(TreeNode)); (*T)->data = ch; CreateTreeNode(&((*T)->leftchild)); CreateTreeNode(&((*T)->rightchild)); } } //先序遍历 void TopCheckTree(TreeElement * T) { if (*T == NULL) { return; } else { printf("%c", (*T)->data); TopCheckTree(&(*T)->leftchild); TopCheckTree(&(*T)->rightchild); } } //中序遍历 void MiddleCheckTree(TreeElement T) { if (T) { MiddleCheckTree(T->leftchild); printf("%c", T->data); MiddleCheckTree(T->rightchild); } } //后序遍历 void LastCheckTree(TreeElement T) { if (T) { LastCheckTree(T->leftchild); LastCheckTree(T->rightchild); printf("%c", T->data); } }
现在有点迷啊,管她呢,到了时间总是会有选择产生的!
今天对自己的英语有点慌啊!非常感谢书记的突如其来的帮助,感动到我了!!!
晚安,我的全世界!
明天见!