// 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;
}
创建二叉搜索树算法
最新推荐文章于 2021-10-20 11:48:18 发布