青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

The Fourth Dimension Space

枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

神奇的二叉排序樹

//////////////////////////////////////////////////////////////////////////
//
//                            BINARY_SORT_TREE 
//                                            GET_GUIDANCE_BY_MR_ZHANGHONG
//                                            2009年4月21日0:05:22    
//    
//////////////////////////////////////////////////////////////////////////
#include<iostream>
#include
<cmath>
#include
<cassert>
#include
<algorithm>
#include
<cstdio>
using namespace std;

struct node 
{
    
int data;
    node 
*lchild;
    node 
*rchild;
}
;

template
<class T>
void InsertBST(node *&tree,T key)
{
    
if(tree==NULL)
    
{

        tree
=new node;
        tree
->lchild=tree->rchild=NULL;
        tree
->data=key;
        
return;
    }

    
if(key<tree->data)
    
{
        InsertBST(tree
->lchild,key);
    }

    
else
    
{

        InsertBST(tree
->rchild,key);
    }

}

template
<class T>
////////////////////////////////////////////////////
node *SearchBST(node *tree,T key)
{

    
if(tree==NULL||key==tree->data)
        
return tree;
    
else 
        
if(key<tree->data)
            
return SearchBST(tree->lchild,key);
        
else
            
return SearchBST(tree->rchild,key);
}
//SearchBST


int  delete_node(node *&p)//0代表刪除不成功,1代表刪除成功

    node 
*q;
    node 
*s;
    
if(p==NULL)
        
return 0;
    
if(p->rchild==NULL)
    

        q
=p;
        p
=p->lchild;
        delete q;
    }

    
else  if(p->lchild==NULL)
    

        q
=p;
        p
=p->rchild;
        delete q;
    }

    
else 
    
{
        q
=p; 
        s
=p->lchild;
        
while(s->rchild!=NULL)
        
{
            q
=s;  
            s
=s->rchild;
        }

            p
->data=s->data;
        
if(q!=p)
            q
->rchild=s->lchild;
        
else 
            q
->lchild=s->lchild;//注意這個if else 語句 ,這是精髓
        delete s;
    }


}

////////////////////以上兩個函數為可以實現下面這個刪除函數////////////////
//////////////////////////////////////////////////////////////////////////

template<class T>
bool  DeleteBST(node *&tree,T key)
{

    
if(tree==NULL)
        
return false;
    
else if(tree->data==key)
    
{

        delete_node(tree);
        
return true;
    }

    
else if(tree->data>key)
    
{

        DeleteBST(tree
->lchild,key);

    }

    
else DeleteBST(tree->rchild,key);
}

/*由于需要將進行刪除操作后的子樹和父親結點連起來
  我認為需要用上面這個函數來完成查找+刪除功能,而
  不能先調用Search函數然后再調用DeleteBST函數!
*/

//////////////////////////////////////////////////////////////////////////


void print(node *tree)
{

    
if(tree==NULL)
        
return;
    print(tree
->lchild);
    cout
<<tree->data<<' ';
    print(tree
->rchild);
}




int main()
{

    
int arr[]={5,4,8,1,9,7,6,2,12,11,10,3};
    
int i;
    node 
*tree=NULL;
    
for(i=0;i<sizeof(arr)/sizeof(int);i++)
    
{
        InsertBST(tree,arr[i]);
    }

    print(tree);
    cout
<<endl;
    
bool test;
    
for(i=12;i>=0;i--)
    
{
        test
=DeleteBST(tree,i);
        print(tree);
        cout
<<endl;
    }

    
return 0;

}




posted on 2009-04-21 00:58 abilitytao 閱讀(1496) 評論(1)  編輯 收藏 引用

評論

# re: 神奇的二叉排序樹 2009-04-21 11:59 true

寫得不錯  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲激情视频在线观看| 亚洲综合三区| 久久精品中文字幕免费mv| 国产亚洲一区二区三区在线观看 | 欧美性感一类影片在线播放 | 亚洲一区二区动漫| 亚洲一区二区三区三| 国产一区在线播放| 欧美激情精品久久久久久变态| 欧美精品久久一区二区| 亚洲伊人伊色伊影伊综合网| 亚洲欧美国产视频| 在线观看日韩专区| 亚洲毛片在线看| 国产精品一区二区三区久久 | 亚洲毛片视频| 亚洲一区亚洲| 亚洲精品国产精品乱码不99| 亚洲午夜精品| 亚洲电影免费观看高清完整版在线| 亚洲国产精品毛片| 国产精品影视天天线| 亚洲大胆女人| 国产麻豆视频精品| 亚洲国产成人久久综合| 国产欧美 在线欧美| 亚洲电影免费观看高清| 国产精品美女xx| 欧美国产专区| 国产亚洲欧美日韩日本| 日韩视频在线一区| 国产真实久久| 在线亚洲激情| 亚洲免费精彩视频| 久久久国产91| 欧美在线短视频| 欧美日韩国产精品专区| 免费在线观看精品| 国产农村妇女精品一二区| 亚洲人成网站777色婷婷| 国产一区二区丝袜高跟鞋图片| 亚洲精选视频免费看| 一区二区视频欧美| 亚洲欧美在线一区| 亚洲自拍偷拍网址| 欧美日韩成人网| 亚洲第一在线| 在线精品国精品国产尤物884a| 亚洲欧美电影院| 亚洲一区www| 欧美另类一区| 亚洲激情午夜| 最新日韩中文字幕| 美女主播一区| 欧美国产精品v| 亚洲第一中文字幕| 久久久91精品国产一区二区精品| 久久国产精品黑丝| 国产亚洲精品美女| 午夜激情综合网| 一区二区三区|亚洲午夜| 另类人畜视频在线| 欧美日韩精品一区二区在线播放| 奶水喷射视频一区| 亚洲第一在线| 欧美va亚洲va香蕉在线| 欧美激情日韩| 亚洲精品一线二线三线无人区| 蜜臀av国产精品久久久久| 欧美激情欧美狂野欧美精品| 亚洲人成网站精品片在线观看 | 久久米奇亚洲| 欧美大片免费观看| 一区二区三区三区在线| 欧美天天综合网| 亚洲男人的天堂在线aⅴ视频| 欧美有码视频| 又紧又大又爽精品一区二区| 米奇777在线欧美播放| 亚洲第一二三四五区| 宅男噜噜噜66一区二区66| 国产精品久久久久久一区二区三区| 亚洲在线观看免费视频| 久久精品人人做人人爽| 精品二区视频| 欧美日韩高清一区| 午夜亚洲性色福利视频| 久久全球大尺度高清视频| 亚洲国产成人精品视频| 欧美日韩在线三级| 欧美一区二区精品在线| 欧美国产日韩在线观看| 亚洲一区二区三区涩| 国产一区二区按摩在线观看| 免费观看在线综合| 一区二区三区精品国产| 久久一区二区三区av| 99riav国产精品| 国产精品一二三四区| 久久精品国产精品亚洲| 亚洲精品在线免费观看视频| 欧美一级视频免费在线观看| 亚洲国产欧美不卡在线观看| 国产精品99一区| 久久午夜视频| 亚洲一区二区高清| 欧美黄色影院| 久久乐国产精品| 中文亚洲欧美| 亚洲韩国一区二区三区| 国产性做久久久久久| 欧美日韩喷水| 久久综合狠狠综合久久激情| 亚洲一区二区高清| 日韩视频在线观看国产| 你懂的国产精品| 久久成人羞羞网站| 亚洲一区二区免费视频| 亚洲人人精品| 在线精品一区| 国产亚洲一区二区精品| 国产精品午夜在线观看| 欧美日韩精品一区二区三区| 蜜臀av一级做a爰片久久| 久久精品女人| 欧美一区二区三区免费观看| 亚洲一区二区视频在线| 一本久道久久综合中文字幕| 亚洲国产欧美一区二区三区同亚洲| 久久精品国产一区二区电影| 亚洲欧美日韩一区二区在线| 亚洲精品一区二区三区蜜桃久| 久久久人成影片一区二区三区观看| 欧美成人免费观看| 蜜臀久久99精品久久久画质超高清 | 国产欧美日韩精品专区| 国产精品福利影院| 欧美日韩亚洲精品内裤| 欧美激情国产日韩| 欧美激情a∨在线视频播放| 欧美大香线蕉线伊人久久国产精品| 久久精品国产成人| 久久影院午夜片一区| 久久婷婷激情| 免费欧美电影| 欧美国产亚洲精品久久久8v| 欧美国产综合视频| 欧美黄色影院| 欧美视频在线观看| 国产精品美女久久久久久免费| 国产精品捆绑调教| 国产午夜精品久久久久久久| 国产一区二区久久久| 精品二区视频| 亚洲精品色婷婷福利天堂| 在线亚洲观看| 欧美在线免费看| 毛片一区二区| 亚洲国产一二三| 99精品欧美一区二区三区综合在线 | 亚洲国产日日夜夜| aa亚洲婷婷| 亚洲一区二区三区在线播放| 久久xxxx| 欧美成人a∨高清免费观看| 欧美美女操人视频| 国产麻豆视频精品| 亚洲国产天堂网精品网站| 一本大道久久a久久精品综合| 亚洲伊人网站| 六月婷婷久久| 99国产成+人+综合+亚洲欧美| 亚洲欧美在线高清| 欧美 日韩 国产一区二区在线视频 | 久久伊人精品天天| 欧美日韩精品欧美日韩精品| 国产一区二区三区四区hd| 在线高清一区| 亚洲欧美日韩在线不卡| 欧美 日韩 国产在线| 一区二区三区波多野结衣在线观看| 性高湖久久久久久久久| 欧美精品色网| 精品不卡一区二区三区| 亚洲午夜免费视频| 欧美va天堂| 亚洲影院污污.| 欧美精品午夜| 欲香欲色天天天综合和网| 亚洲欧美视频在线观看| 欧美激情一二三区| 性高湖久久久久久久久| 欧美视频在线一区二区三区| 在线不卡a资源高清| 欧美一区二区在线免费观看| 91久久精品国产91久久性色tv| 久久九九国产精品| 国产午夜精品视频| 亚洲午夜精品久久| 亚洲黄色成人久久久|