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

The Fourth Dimension Space

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

排序二叉樹模板(轉(zhuǎn))

#include<iostream>
#include<cassert>
using namespace std;


/**////////////////////////A_CLASS_TEMPLATE_FOR_BST//////////////////////////////
template< class NODETYPE > class Tree;

template< class NODETYPE >
class TreeNode
{
    friend class Tree< NODETYPE >;
public:
    TreeNode( const NODETYPE &d ):leftPtr( 0 ), data( d ), rightPtr( 0 ){ }
    NODETYPE getData() const 
    {
        return data; 
    }
private:
    TreeNode< NODETYPE > *leftPtr;
    NODETYPE data;
    TreeNode< NODETYPE > *rightPtr;
};



template< class NODETYPE >
class Tree{
public:
   Tree();
   void insertNode( const NODETYPE & );
   void preOrderTraversal() const;
   void inOrderTraversal() const;
   void postOrderTraversal() const;
private:
   TreeNode< NODETYPE > *rootPtr;

   void insertNodeHelper(
    TreeNode< NODETYPE > **, const NODETYPE & );
   void preOrderHelper( TreeNode< NODETYPE > * ) const;
   void inOrderHelper( TreeNode< NODETYPE > * ) const;
   void postOrderHelper( TreeNode< NODETYPE > * ) const;
};

template< class NODETYPE >
Tree< NODETYPE >::Tree() { rootPtr = 0; }

template< class NODETYPE >
void Tree< NODETYPE >::insertNode( const NODETYPE &value )
{
insertNodeHelper( &rootPtr, value );
}

template< class NODETYPE >
void Tree< NODETYPE >::insertNodeHelper(TreeNode< NODETYPE > **ptr, const NODETYPE &value )
{
    if( *ptr == 0 )
    {
       *ptr = new TreeNode< NODETYPE >( value );
       assert( *ptr != 0 );
    }
else
   if( value < ( *ptr )->data )
       insertNodeHelper( &( ( *ptr )->leftPtr ), value );
   else
       if( value > ( *ptr )->data )
           insertNodeHelper( &( ( *ptr )->rightPtr ), value );
   else
     cout<< value << " dup" << endl;


template< class NODETYPE >
void Tree< NODETYPE >::preOrderTraversal() const
{
    preOrderHelper( rootPtr ); 
}

template< class NODETYPE >
void Tree< NODETYPE >::preOrderHelper(TreeNode< NODETYPE > *ptr ) const
{
    if( ptr != 0 )
    {
       cout<< ptr->data << ' ';
       preOrderHelper( ptr->leftPtr );
       preOrderHelper( ptr->rightPtr );
    }
}

template< class NODETYPE >
void Tree< NODETYPE >::inOrderTraversal() const

    inOrderHelper( rootPtr );
}

template< class NODETYPE >
void Tree< NODETYPE >::inOrderHelper( TreeNode< NODETYPE > *ptr ) const
{
if( ptr != 0 )
    {
       inOrderHelper( ptr->leftPtr );
       cout<< ptr->data << ' ';
       inOrderHelper( ptr->rightPtr );
    }
}

template< class NODETYPE >
void Tree<NODETYPE >::postOrderTraversal() const
{
    postOrderHelper( rootPtr );
}

template< class NODETYPE >
void Tree< NODETYPE >::postOrderHelper(    TreeNode< NODETYPE > *ptr ) const
{
    if( ptr != 0 )
    {
       postOrderHelper( ptr->leftPtr );
       postOrderHelper( ptr->rightPtr );
       cout<< ptr->data << ' ';  
    }
}
/**///////////////////////////////END_TEMPLATE/////////////////////////////////

int main()
{
    Tree< int > intTree;
    int intVal;
    
    cout<< "Enter 10 integer values:\n";
    for( int i = 0; i < 10; i++ )
    {
        cin>> intVal;
        intTree.insertNode( intVal );
    }
    
    cout<< "\nPreorder traversal\n";
    intTree.preOrderTraversal();
    
    cout<< "\nInorder traversal\n";
    intTree.inOrderTraversal();
    
    cout<< "\nPostorder traversal\n";
    intTree.postOrderTraversal();
    
    return 0;
}

網(wǎng)上看到的模板,感覺寫得很不錯,呵呵。不過排序二叉樹本來是用來查找的,沒有查找函數(shù)真是可惜了丫,等下次有時間我來加個查找刪除函數(shù),這個模板就可以真正的使用了。


PS:其實學完數(shù)據(jù)結(jié)構(gòu)以后我自己也寫了一個排序二叉樹的模板,可惜的是,由于新建結(jié)點里面有指針,似乎無法用上模板類了,今天看了這個模板才恍然大悟,原來可以寫一個結(jié)點類,呵呵;我還有一個地方不太明白,就是friend class Tree< NODETYPE >;這條語句里面用到了friend關(guān)鍵字,我以前只學過友元函數(shù),難道還有友元類么?希望知道的朋友能給我解釋一下。如果能告訴我相關(guān)的知識點的出處,讓我自己去學習一下就更好了,謝謝呵   :-)

posted on 2009-05-24 02:10 abilitytao 閱讀(1050) 評論(1)  編輯 收藏 引用

評論

# re: 排序二叉樹模板(轉(zhuǎn)) 2009-05-24 15:13 longe

一個類A中定義一個友元類B的話,B成員是可以訪問A成員的,包括private .這個在c++primer 三版 里有講過的。  回復  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲毛片在线看| 欧美一区二区日韩| 欧美日韩在线三级| 免费在线国产精品| 欧美理论视频| 欧美视频官网| 国产精品一区二区三区乱码| 国产亚洲成av人片在线观看桃 | 这里只有精品在线播放| 亚洲免费中文| 久久免费一区| 亚洲精选视频免费看| 日韩午夜av电影| 亚洲一区二区精品| 久久看片网站| 亚洲精品乱码久久久久| 亚洲免费观看高清完整版在线观看| 亚洲美女中出| 久久精品一本| 欧美日韩综合视频| 亚洲承认在线| 午夜精品久久久| 亚洲电影自拍| 亚洲欧美日韩在线高清直播| 老司机成人网| 国产欧美一区二区三区久久| 亚洲精品久久久蜜桃| 久久久www免费人成黑人精品| 亚洲国产精品久久久久秋霞不卡| 中文在线一区| 美女网站久久| 国内精品久久久久久久影视蜜臀 | 欧美一区二区三区免费大片| 欧美成人视屏| 久久精品99国产精品| 欧美揉bbbbb揉bbbbb| 亚洲激情校园春色| 开元免费观看欧美电视剧网站| 在线一区二区视频| 欧美美女bbbb| 亚洲国产免费看| 玖玖精品视频| 香蕉尹人综合在线观看| 欧美日本一区二区高清播放视频| 在线观看福利一区| 久久动漫亚洲| 亚洲免费一级电影| 国产精品午夜电影| 亚洲欧美一区二区激情| 亚洲久久一区| 欧美大成色www永久网站婷| 激情一区二区三区| 久久精品国产综合| 羞羞答答国产精品www一本| 国产精品综合网站| 午夜在线观看免费一区| 亚洲一区二区视频| 国产模特精品视频久久久久| 亚洲欧美日韩精品一区二区 | 亚洲精品视频在线| 欧美激情自拍| aⅴ色国产欧美| 亚洲美女视频| 欧美日韩免费观看一区| 亚洲网站啪啪| 亚洲午夜在线观看| 国产欧美日韩视频一区二区| 欧美中文字幕| 久久伊伊香蕉| 日韩视频三区| 正在播放欧美视频| 国外成人在线| 欧美激情第8页| 欧美日韩国产色视频| 亚洲欧美视频在线观看视频| 欧美一级免费视频| 亚洲高清视频一区二区| 日韩网站在线看片你懂的| 国产精品福利在线观看| 久久久午夜视频| 欧美mv日韩mv国产网站app| 中文日韩欧美| 久久成人综合视频| 亚洲精品一线二线三线无人区| 99精品久久免费看蜜臀剧情介绍| 国产欧美一区二区三区另类精品 | 欧美四级在线观看| 久久精品国产69国产精品亚洲 | 在线视频欧美日韩| 国产精品免费在线 | 一区二区三区高清在线| 午夜精品在线| 99视频有精品| 欧美一区二区三区免费观看| 亚洲欧洲日本国产| 亚洲一区二区不卡免费| 亚洲高清激情| 亚洲欧美中文日韩v在线观看| 伊人成人在线| 亚洲尤物在线视频观看| 亚洲另类自拍| 亚洲欧美制服另类日韩| 在线视频精品一区| 另类国产ts人妖高潮视频| 欧美日韩亚洲在线| 欧美a级片网站| 国产日产精品一区二区三区四区的观看方式 | 欧美激情欧美狂野欧美精品| 欧美一乱一性一交一视频| 欧美+日本+国产+在线a∨观看| 欧美亚洲色图校园春色| 欧美精品久久99| 老牛影视一区二区三区| 国产精品自在欧美一区| 妖精视频成人观看www| 亚洲国产cao| 欧美一区二区三区啪啪| 亚洲一区二区三区色| 欧美电影免费观看高清完整版| 久久国产精品99精品国产| 欧美日韩一区二区三区免费看 | 亚洲欧美激情在线视频| 一本大道av伊人久久综合| 久久久综合激的五月天| 久久久久国产精品一区二区| 国产精品国产三级国产aⅴ入口 | 亚洲国产天堂久久综合网| 国语精品一区| 久久不射网站| 久久久久久综合网天天| 国产精品亚洲一区| 一区二区三区高清不卡| 亚洲特色特黄| 欧美亚州在线观看| 一本一本久久a久久精品牛牛影视| av成人国产| 欧美日韩国内自拍| 日韩小视频在线观看专区| 一区二区三区高清在线观看| 欧美日韩国产综合视频在线| 日韩视频第一页| 亚洲无玛一区| 国产美女精品免费电影| 欧美一级片一区| 美国成人毛片| 亚洲裸体视频| 国产精品国内视频| 亚洲影院色在线观看免费| 欧美在线综合视频| 国产一区二区三区无遮挡| 久久精品成人一区二区三区蜜臀 | 亚洲小视频在线观看| 亚洲伊人观看| 国产日韩欧美另类| 久久综合九色综合欧美就去吻 | 国产精品美女久久久久久2018| 亚洲免费视频一区二区| 久久偷窥视频| 亚洲精品字幕| 欧美四级在线观看| 久久国产成人| 亚洲国产精品第一区二区| 亚洲一区二区三区成人在线视频精品| 国产精品久久久久久久久久免费看| 亚洲欧美日韩精品久久久| 免费日韩成人| 亚洲一二三区精品| 狠狠色丁香婷婷综合影院| 欧美成人激情视频免费观看| 一本一道久久综合狠狠老精东影业| 久久国产精品高清| 亚洲日本激情| 国产精品一区免费观看| 久久免费高清视频| 亚洲午夜电影网| 久久久天天操| 亚洲手机视频| 在线观看日韩国产| 欧美午夜影院| 美日韩精品免费观看视频| 一本色道久久综合亚洲精品不| 久久九九热免费视频| 最新日韩在线| 国产一区视频在线观看免费| 欧美日韩美女一区二区| 久久精品国产免费看久久精品| 亚洲精品美女在线观看| 久久一区免费| 久久国产精品亚洲va麻豆| 亚洲午夜女主播在线直播| 亚洲国产99精品国自产| 国产日韩欧美综合| 欧美日韩在线一区二区| 欧美激情第1页| 久久久蜜桃精品| 午夜精品久久一牛影视| 在线亚洲免费| 99精品国产福利在线观看免费| 亚洲高清自拍| 国产综合av|