[关闭]
@chawuciren 2018-10-15T03:05:58.000000Z 字数 913 阅读 460

二叉

未分类

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. typedef struct _TreeNode{
  4. int data;
  5. struct _TreeNode* left;
  6. struct _TreeNode* right;
  7. } TreeNode;
  8. TreeNode* buildNode(int Data);
  9. void inorder(TreeNode* root);
  10. int main(){
  11. TreeNode* root = NULL;
  12. TreeNode* Left = NULL;
  13. TreeNode* Right = NULL;
  14. root = buildNode(3);
  15. Left = buildNode(2);
  16. Right = buildNode(5);
  17. root->left = Left;
  18. root->right = Right;
  19. TreeNode* LeftLeft = NULL;
  20. LeftLeft = buildNode(1);
  21. Left->left = LeftLeft;
  22. TreeNode* RightRight = NULL;
  23. RightRight = buildNode(6);
  24. Right->right = RightRight;
  25. TreeNode* RightLeft = NULL;
  26. RightLeft = buildNode(4);
  27. Right->left = RightLeft;
  28. inorder(root);
  29. return 1;
  30. }
  31. TreeNode* buildNode(int Data){
  32. /* 分配出一个新结点,并用node指针指向它 */
  33. TreeNode *node = NULL;
  34. node = (TreeNode*)malloc( sizeof(TreeNode) );
  35. /* 初始化结点内容 */
  36. node->data = Data;
  37. node->left = NULL;
  38. node->right = NULL;
  39. /* 将该节点返回 */
  40. return node;
  41. }
  42. /* 中序遍历 */
  43. void inorder(TreeNode* root){
  44. if( root == NULL )
  45. return;
  46. inorder(root->left); /* 先遍历左子树 */
  47. printf("%d\n", root->data); /* 访问根结点 */
  48. inorder(root->right); /* 再遍历右子树 */
  49. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注