二叉树

来源:互联网 发布:ie6修复软件 编辑:程序博客网 时间:2024/06/07 00:28

本人建立二叉树的原始如下,可以看出我想用链表形式的来表现。

二叉树的内容包括

1.建立

2.遍历

先序遍历

中序遍历

后序遍历

3.查找

最大

最小

某个值

4.插入

5.删除

6.重建,见剑指offer


#include "stdafx.h"  #include <iostream>  using namespace std;  #define len sizeof(Node)  #define NULL 0  struct Node{      Node * left;      Node * right;  Node * parent;    int value;  };//注意此处有逗号  Node * createTree(int value){      Node *head;      head->left = NULL;      head->right =NULL;      head->value = value;      return head;  }  int main(){//占底盘    Node node[8];//分配值for(int i=0;i<8;i++){node[i].value = i+1;node[i].left = NULL;node[i].right = NULL;node[i].parent =NULL;}//连接线node[0].left = &node[1];node[1].parent = &node[0]; //应该是双向的才对,这样才能遍历node[1].left = &node[3]; node[3].parent = &node[1];node[3].right = &node[6];node[6].parent = &node[3];node[0].right = &node[2];node[2].parent = &node[0];node[2].left = &node[4];node[4].parent = &node[2];node[2].left = &node[5];node[5].parent = &node[2];node[5].left = &node[7];node[7].parent = &node[5];    return 0;  }  


0 0