// binaryTree.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <string> using namespace std; struct binaryNode { int key; binaryNode *left; binaryNode *right; }; class binaryTree { public: void create(int *A,int n); //private: binaryNode *root; void createPrivate(int data, binaryNode *&ptr); }; void binaryTree::create(int *A, int n) { if(A==NULL || n<=0) { cout<<"the input is error"<<endl; } root=new binaryNode(); root->key=A[0]; root->left=NULL; root->right=NULL; for(int i=1;i<n;i++) { createPrivate(A[i],root); } } void binaryTree::createPrivate(int data,binaryNode * &ptr) { if(ptr==NULL) { ptr=new binaryNode(); ptr->left=NULL; ptr->right=NULL; ptr->key=data; return; } if(data>ptr->key) { createPrivate(data,ptr->right); }else { createPrivate(data,ptr->left); } } //template<class T> int _tmain(int argc, _TCHAR* argv[]) { binaryTree *test=new binaryTree(); int A[]={53,78,65,17,87,9,81,15}; test->create(A,8); cout<<(test->root->right->right->left)->key<<endl; getchar(); return 0; }