자료구조_c언어_tree
2021. 8. 25. 10:13ㆍ개발하는중/자료구조
728x90
반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include <stdio.h> #include <stdlib.h> #include <memory.h> typedef struct treeNode { char data; struct treeNode *left; struct treeNode *right; }treeNode; treeNode* makeRootNode(char data, treeNode *leftNode, treeNode *rightNode) { treeNode *root = (treeNode*)malloc(sizeof(treeNode)); root->data = data; root->left = leftNode; root->right = rightNode; return root; } void preorder(treeNode *root) { if (root) { printf("%c", root->data); preorder(root->left); preorder(root->right); } } void inorder(treeNode *root) { if (root) { inorder(root->left); printf("%c", root->data); inorder(root->right); } } void postorder(treeNode *root) { if (root) { postorder(root->left); postorder(root->right); printf("%c", root->data); } } int main() { treeNode *n7 = makeRootNode('D', NULL, NULL); treeNode *n6 = makeRootNode('C', NULL, NULL); treeNode *n5 = makeRootNode('B', NULL, NULL); treeNode *n4 = makeRootNode('A', NULL, NULL); treeNode *n3 = makeRootNode('/', n6, n7); treeNode *n2 = makeRootNode('*', n4, n5); treeNode *n1 = makeRootNode('-', n2, n3); printf("\n preorder:"); preorder(n1); printf("\n inorder:"); inorder(n1); printf("\n postorder:"); postorder(n1); getchar(); return 0; } | cs |
728x90
'개발하는중 > 자료구조' 카테고리의 다른 글
자료구조 배열 (0) | 2023.09.09 |
---|---|
자료구조 개념 (0) | 2023.09.09 |
자료구조_c언어_circularLinkedList_01 (0) | 2021.08.25 |
자료구조_c언어_서클 큐_circleQueue_02 (0) | 2021.07.19 |
자료구조_c언어_linkedList_02 (0) | 2021.05.25 |