#include "Tree.h"
using namespace std;
Node* genera(int* sortArr, int start, int end)
{
if(start > end)
return nullptr;
int mid = (start + end) / 2;
Node* head = new Node(sortArr[mid]);
head->left = genera(sortArr, start, mid - 1);
head->right = genera(sortArr, mid + 1, end);
return head;
}
Node* generateTree(int* sortArr, int length)
{
if(sortArr == nullptr)
return nullptr;
return genera(sortArr, 0, length - 1);
}
int main()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Node* head = generateTree(arr, sizeof(arr)/sizeof(int));
Print(head);
}
通过有序数组生成平衡搜索二叉树
猜你喜欢
转载自blog.csdn.net/wzc2608/article/details/80870241
今日推荐
周排行