ConvertBinarySearchTree
2016-08-29 11:14
344 查看
#define Nil 0 #include<stdio.h> #include<stdlib.h> typedef struct BiTNode{ int data; BiTNode* lchild; BiTNode* rchild; }*BiTree; void CreateBiTree(BiTree &T){ int temp; printf("请输入节点的值\n"); scanf("%d",&temp); if(temp==Nil) T=NULL; else{ T=(BiTNode*)malloc(sizeof(BiTNode)); if(!T){ printf("内存分配不足\n"); exit(0); } T->data=temp; CreateBiTree(T->lchild); CreateBiTree(T->rchild); } } void ConvertBinarySearchTree(BiTree pNode,BiTree &lastNode){ if(pNode==NULL) return ; BiTNode* currNode=pNode; if(pNode->lchild!=NULL) ConvertBinarySearchTree(pNode->lchild,lastNode); currNode->lchild=lastNode; if(lastNode!=NULL) lastNode->rchild=currNode; lastNode=currNode; if(pNode->rchild!=NULL) ConvertBinarySearchTree(pNode->rchild,lastNode); } BiTNode* Convert(BiTree T){ BiTNode* lastNode=NULL; BiTNode* pNode=T; ConvertBinarySearchTree(pNode,lastNode); BiTNode* listHead=lastNode; while(lastNode!=NULL&&lastNode->lchild!=NULL) lastNode=lastNode->lchild; return lastNode; } void PrintList(BiTree T){ BiTNode* p=T; BiTNode* q=NULL; while(p){ printf("%3d",p->data); q=p; p=p->rchild; } printf("\n"); while(q){ printf("%3d",q->data); q=q->lchild; } } void main(){ BiTree T; CreateBiTree(T); BiTree listHead=Convert(T); PrintList(listHead); }
相关文章推荐
- LeetCode 109 Convert Sorted List to Binary Search Tree
- LeetCode -- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- LeetCode: Convert Sorted Array to Binary Search Tree
- 77:Convert Sorted List to Binary Search Tree
- [LeetCode]109 Convert Sorted List to Binary Search Tree
- [LeetCode] Convert Sorted List to Binary Search Tree
- LeetCode OJ——Convert Sorted List to Binary Search Tree
- LeetCode:Convert Sorted Array to Binary Search Tree,Convert Sorted List to Binary Search Tree
- [leetcode] Convert Sorted Array to Binary Search Tree
- leetcode--Convert Sorted Array to Binary Search Tree
- leetcode--ConvertSortedListtoBinarySearchTree
- LeetCode : Convert Sorted List to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Leetcode: Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- 【Leetcode长征系列】Convert Sorted Array to Binary Search Tree
- <LeetCode OJ> 109 / 108 Convert Sorted ( List / Array ) to Binary Search Tree
- 109. Convert Sorted List to Binary Search Tree