码迷,mamicode.com
首页 > 其他好文 > 详细

PTA 6-12 (二叉树的递归删除)

时间:2018-12-06 22:22:15      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:let   sizeof   not   delete   ||   not found   span   style   malloc   

 1 BinTree Insert( BinTree BST, ElementType X )
 2 {
 3     if (BST==NULL) {
 4         BinTree tmp=(BinTree)malloc(sizeof(struct TNode));
 5         tmp->Data=X;
 6         tmp->Left=tmp->Right=NULL;
 7         return tmp;
 8     };
 9     if (X<BST->Data)  
10         BST->Left=Insert(BST->Left,X);
11     else              
12         BST->Right=Insert(BST->Right,X);
13     return BST;
14 }
15 
16 Position Find( BinTree BST, ElementType X ) {
17     if (BST==NULL||BST->Data==X)  return BST;
18     if (X<BST->Data)  return Find (BST->Left,X);
19     else              return Find (BST->Right,X); 
20 }
21 
22 Position FindMin( BinTree BST ) {
23     if (BST==NULL||BST->Left==NULL) return BST;
24     else                            return FindMin (BST->Left);
25 }
26 
27 Position FindMax( BinTree BST ) {
28     if (BST==NULL||BST->Right==NULL) return BST;
29     else                             return FindMax (BST->Right);
30 }
31 
32 BinTree Delete( BinTree BST, ElementType X ) {
33     BinTree TMP;
34     if (BST==NULL) {
35         printf ("Not Found\n");
36         return NULL;
37     }
38     if (X<BST->Data) 
39         BST->Left=Delete (BST->Left,X);
40     else  if (X>BST->Data)           
41         BST->Right=Delete (BST->Right,X);
42     else {
43         if (BST->Left!=NULL&&BST->Right!=NULL)  {
44             TMP=FindMin (BST->Right);
45             BST->Data=TMP->Data;
46             BST->Right=Delete (BST->Right,TMP->Data);
47         }
48         else {
49             TMP=BST;
50             if (BST->Left!=NULL) 
51                 BST=BST->Left;
52             else if (BST->Right!=NULL)
53                 BST=BST->Right;
54             else BST=NULL;
55         }
56     }
57     return BST;
58 }

 

PTA 6-12 (二叉树的递归删除)

标签:let   sizeof   not   delete   ||   not found   span   style   malloc   

原文地址:https://www.cnblogs.com/xidian-mao/p/10079559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!