二叉树遍历

来源:互联网 发布:nginx 自定义日志格式 编辑:程序博客网 时间:2024/06/09 23:54
/*前序遍历*/void pre_order_traversal(BTreeNode* node){if (node != NULL){printf("%c,",((struct Node*)node)->v);pre_order_traversal(node->left);pre_order_traversal(node->right);}}/*中序遍历*/void middle_order_traversal(BTreeNode* node){if (node != NULL){middle_order_traversal(node->left);printf("%c,", ((struct Node*)node)->v);middle_order_traversal(node->right);}}/*后序遍历*/void post_order_traversal(BTreeNode* node){if (node != NULL){post_order_traversal(node->left);post_order_traversal(node->right);printf("%c,", ((struct Node*)node)->v);}}/*利用链式队列层次遍历*/void level_order_traversal(BTreeNode* node){if (node != NULL){LinkQueue* queue = LinkQueue_Create();if (queue != NULL){LinkQueue_Append(queue, node);while (LinkQueue_Length(queue) > 0){struct Node* queue_node = (struct Node*)LinkQueue_Retrieve(queue);printf("%c,", queue_node->v);LinkQueue_Append(queue, queue_node->header.left);LinkQueue_Append(queue, queue_node->header.right);}}LinkQueue_Destroy(queue);}}

0 0
原创粉丝点击