剑指offer 二叉树(搜索二叉树插入,遍历)未完待续。。
2014-07-14 13:48
399 查看
搜索二叉树的插入
二叉树的遍历(前序、中序、后序、层序?)
E:\arithmetic\BinaryTree
二叉树的遍历(前序、中序、后序、层序?)
E:\arithmetic\BinaryTree
//BinaryTree.h #ifndef BINARYTREE_H_H #define BINARYTREE_H_H #include <stdlib.h> typedef struct BinaryTreeNode{ int value; struct BinaryTreeNode *lChild; struct BinaryTreeNode *rChild; }TreeNode; TreeNode* insertNode(TreeNode *r, int v); void preOrder(TreeNode *r); void inOrder(TreeNode *r); void postOrder(TreeNode *r); void leverOrder(TreeNode *r); #endif
//BinaryTree.c #include "BinaryTree.h" TreeNode* insertNode(TreeNode *r, int v){ //TreeNode *root = *r; if(r == NULL){ TreeNode *t = malloc(sizeof(TreeNode)); t->value = v; t->lChild = NULL; t->rChild = NULL; return t; } if(v > r->value ){ r->rChild = insertNode(r->rChild, v); } else if(v < r->value ){ r->lChild = insertNode(r->lChild, v); } else{ printf("failed to insert! quit!\n"); return NULL; } return r;//!!!don't foget!! } void preOrder(TreeNode *r){ if(r == NULL){ return; } printf("%d\t", r->value); preOrder(r->lChild); preOrder(r->rChild); } void inOrder(TreeNode *r){ if(r == NULL){ return; } inOrder(r->lChild); printf("%d\t", r->value); inOrder(r->rChild); } void postOrder(TreeNode *r){ if(r == NULL){ return; } postOrder(r->lChild); postOrder(r->rChild); printf("%d\t", r->value); } void leverOrder(TreeNode *r){ }
#include <stdio.h> #include "BinaryTree.h" int main(int argc, char *argv[]) { TreeNode *root = NULL; int a[] = {10, 6, 14, 4, 8, 12, 16}; int i; for(i=0 ; i<sizeof(a)/sizeof(int) ; i++){ root = insertNode(root, a[i]); } preOrder(root); printf("\n"); inOrder(root); printf("\n"); postOrder(root); printf("\n"); return 0; }
相关文章推荐
- 剑指offer 判断数组的后序遍历是否为搜索二叉树
- 剑指offer--从上往下打印二叉树--层次遍历、广度优先搜索
- 剑指offer-24:搜索二叉树的后序遍历
- 剑指Offer——搜索二叉树的后序遍历
- 剑指offer刷题之c++实现的根据二叉树的前序和中序遍历重建二叉树
- 码农小汪剑指Offer之36-二叉树的深度 层次遍历 分而冶之
- 剑指offer 遍历搜索
- 【面试题】剑指Offer-6-根据前序和中序遍历重建二叉树
- 剑指offer-重建二叉树 由前序和中序遍历序列建树
- 剑指offer 6---由前序遍历和中序遍历重建二叉树
- 剑指offer_二叉树---二叉搜索树的后序遍历
- 剑指Offer--023-从上往下打印二叉树(层次遍历二叉树)
- 【剑指offer】题60:分层遍历打印二叉树
- 剑指offer面试题23:从上到下打印二叉树(树的层序遍历)
- 剑指offer面试题19二叉树的镜像和二叉树的前中后遍历递归和非递归算法
- 剑指offer-23:二叉树的层次遍历
- 剑指offer - 从上往下遍历二叉树
- 剑指offer 二叉树的后续遍历序列
- 剑指Offer_面试题23_从上到下打印二叉树(层序遍历)
- 剑指offer | 训练题61:二叉树搜索的第K个结点