将有序数组转化为二叉树

来源:互联网 发布:stc89c52单片机介绍 编辑:程序博客网 时间:2024/03/29 00:12
using namespace std;struct node{int val;struct node* left;struct node* right;node(int v=0){val = v;left = 0;right = 0;}};typedef struct node* link;// array a is sortedvoid convert(int a[], int left, int right, link& h){if (right < left) return;int mid = (left + right)>>1;h = new node(a[mid]);convert(a, left, mid-1, h->left);convert(a, mid+1, right, h->right);}int main(int argc, char* argv[]){link h = 0;int a[10] = {0,1,2,3,4,5,6,7,8,9};convert(a, 0, 9, h);return 0;}


原创粉丝点击