ds_bintree_a.cpp

看板FcuIecs-Ding作者 (飛機頭......帥)時間25年前 (2001/04/17 11:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
#include<stdio.h> #include<stdlib.h> #include<conio.h> typedef struct Ttree tree; typedef tree *treePrt; typedef treePrt *treeRef; typedef struct Ttree { char data; treePrt left; treePrt right; } tree; void tree_grow(treeRef mtree, char which, char data); void tree_preorder(treeRef mtree); void tree_inorder(treeRef mtree); void tree_postorder(treeRef mtree); void main() { clrscr(); tree *mine = (tree *)malloc(sizeof(tree)); mine->data = 'a'; tree_grow(&mine, 'l', 'b'); tree_grow(&mine, 'r', 'c'); tree_preorder(&mine);puts(""); tree_inorder(&mine);puts(""); tree_postorder(&mine);puts(""); } void tree_grow(treeRef mtree, char which, char data) { tree *branch = (tree *)malloc(sizeof(tree)); branch->data = data; branch->left = NULL; branch->right = NULL; switch (which) { case 'l': (*mtree)->left = branch; break; case 'r': (*mtree)->right = branch; break; default: printf("%s", "unknown branch."); } } void tree_preorder(treeRef mtree) { printf("%c", (*mtree)->data); if ((*mtree)->left) tree_preorder(&((*mtree)->left)); if ((*mtree)->right) tree_preorder(&((*mtree)->right)); } void tree_inorder(treeRef mtree) { if ((*mtree)->left) tree_inorder(&((*mtree)->left)); printf("%c", (*mtree)->data); if ((*mtree)->right) tree_inorder(&((*mtree)->right)); } void tree_postorder(treeRef mtree) { if ((*mtree)->left) tree_postorder(&((*mtree)->left)); if ((*mtree)->right) tree_postorder(&((*mtree)->right)); printf("%c", (*mtree)->data); } -- 全世界都知道我喜歡妳 唯一不知道ㄉ........ 就是妳.......
文章代碼(AID): #wsx8p00 (FcuIecs-Ding)