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

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>
            国产性猛交xxxx免费看久久| 黄网动漫久久久| 国产精品乱码| 亚洲精品国产精品乱码不99 | 免费黄网站欧美| 午夜精品视频在线观看| 欧美日韩精品三区| 亚洲深夜av| 日韩一区二区久久| 欧美日韩在线第一页| 日韩视频中午一区| 亚洲黄色免费网站| 久久在线观看视频| 伊人久久亚洲热| 欧美99在线视频观看| 久久精品女人的天堂av| 1000部国产精品成人观看| 欧美国产一区二区| 欧美—级a级欧美特级ar全黄| 亚洲精品乱码久久久久久黑人| 亚洲高清激情| 欧美网站大全在线观看| 午夜一级久久| 欧美在线啊v一区| 亚洲国产欧美久久| 99pao成人国产永久免费视频| 一区二区三区国产盗摄| 欧美激情二区三区| 美女久久一区| 一区二区三区成人| 亚洲一区在线观看视频 | 午夜在线精品偷拍| 欧美在线一区二区三区| 在线日韩欧美| 日韩天堂在线观看| 国产日韩欧美制服另类| 欧美成人精品福利| 欧美日韩中文字幕在线| 久久久99免费视频| 欧美国产日韩一区| 久久成人综合网| 美腿丝袜亚洲色图| 午夜精品免费视频| 久久综合精品国产一区二区三区| 日韩午夜av在线| 午夜一区二区三区在线观看 | 一个色综合导航| 国产一区二区三区四区老人| 欧美激情亚洲国产| 国产欧美日韩伦理| 亚洲激情成人在线| 国产亚洲欧美aaaa| 日韩一级精品| 曰韩精品一区二区| 一区二区三区欧美在线| 亚洲电影在线看| 亚洲午夜一级| 亚洲精品三级| 久久精品五月| 午夜精品久久久久久久久久久| 久久久爽爽爽美女图片| 午夜精品一区二区三区电影天堂| 免费欧美日韩| 久久精品亚洲热| 国产精品分类| 亚洲理伦在线| 亚洲精品在线免费| 久久综合九色| 老司机免费视频一区二区三区| 欧美性开放视频| 91久久精品国产| 在线观看欧美日韩| 久久精品国产v日韩v亚洲| 亚洲欧美日韩区| 欧美色区777第一页| 亚洲精品久久在线| 99精品视频免费观看| 欧美成人精品激情在线观看| 免费一区视频| 亚洲成人在线| 久久一区二区三区四区| 久久综合综合久久综合| 国语自产偷拍精品视频偷| 性感少妇一区| 久久免费精品日本久久中文字幕| 国产精品久久久久99| 亚洲最新在线视频| 亚洲天堂av电影| 欧美午夜在线视频| 欧美日韩综合久久| 在线一区二区三区四区五区| 日韩小视频在线观看专区| 久久夜精品va视频免费观看| 久久国产视频网| 国产亚洲精品激情久久| 久久爱www| 免费成人在线观看视频| 亚洲国产一区二区三区在线播 | 亚洲国产欧美在线人成| 亚洲人妖在线| 欧美日韩一区二区三区四区在线观看 | 久久精品盗摄| 欧美大色视频| 99在线精品免费视频九九视| 欧美日韩日本视频| 亚洲一区二区少妇| 久久青青草原一区二区| 亚洲国产1区| 欧美欧美天天天天操| 一区二区三区色| 久久久噜久噜久久综合| 亚洲精品国产拍免费91在线| 欧美日韩在线播| 久久福利一区| 亚洲精品护士| 久久aⅴ国产紧身牛仔裤| 亚洲第一黄色| 国产精品激情电影| 久久婷婷激情| av成人天堂| 欧美xxx成人| 亚洲综合第一页| 影音国产精品| 欧美小视频在线| 久久综合给合久久狠狠狠97色69| 亚洲精品一区久久久久久| 久久狠狠一本精品综合网| 亚洲精品日韩欧美| 国产在线播放一区二区三区| 欧美激情在线| 久久久国产亚洲精品| 一区二区欧美在线观看| 欧美成人免费在线观看| 新片速递亚洲合集欧美合集| 亚洲激情欧美激情| 国产一区二区三区自拍| 欧美日韩午夜剧场| 麻豆精品一区二区av白丝在线| 亚洲午夜激情在线| 最新亚洲电影| 免费日韩av| 久久精品亚洲| 亚洲一区日韩| 亚洲精品欧美专区| 黄色国产精品一区二区三区| 欧美午夜性色大片在线观看| 免费在线看一区| 久久国产黑丝| 午夜精品视频一区| 中国女人久久久| 日韩视频免费观看高清在线视频| 欧美91大片| 裸体歌舞表演一区二区| 一区二区视频免费完整版观看| 亚洲欧美大片| 亚洲精选在线观看| 欧美韩国日本一区| 老司机午夜精品视频在线观看| 午夜伦理片一区| 亚洲午夜激情在线| 一本久久综合亚洲鲁鲁| 亚洲国产中文字幕在线观看| 加勒比av一区二区| 国产一区二区三区的电影| 国产精品日日摸夜夜添夜夜av| 欧美日韩 国产精品| 欧美成人精品影院| 欧美69wwwcom| 欧美韩日一区二区| 欧美激情视频在线免费观看 欧美视频免费一 | 久久精品人人爽| 欧美专区日韩专区| 欧美在线视频二区| 久久精品九九| 久久久免费精品视频| 久久婷婷国产麻豆91天堂| 久久亚洲春色中文字幕久久久 | 99这里只有久久精品视频| 亚洲国产日本| 日韩一级精品| 一区二区三区欧美亚洲| 一区二区三区免费网站| 亚洲一区二区三区欧美| 亚洲男人的天堂在线| 午夜亚洲影视| 久久一区二区精品| 欧美a级大片| 亚洲激情在线视频| 一区二区av在线| 亚洲欧美资源在线| 久久久久成人精品免费播放动漫| 久久久久久久欧美精品| 免费一级欧美片在线观看| 欧美日韩国产页| 国产精品三级久久久久久电影| 国产亚洲视频在线| 亚洲高清一区二区三区| 一区二区日韩欧美| 欧美在线首页| 亚洲国产精品久久精品怡红院|