二叉树

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

二叉树的内容包括

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;  
}  


posted @ 2017-03-23 17:22  开往春天的拖拉机  阅读(63)  评论(0编辑  收藏  举报