锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美美女喷水视频,久久亚洲精品一区,久久精品五月http://www.shnenglu.com/cxiaojia/archive/2012/08/20/187776.htmlC灝忓姞C灝忓姞Mon, 20 Aug 2012 09:11:00 GMThttp://www.shnenglu.com/cxiaojia/archive/2012/08/20/187776.htmlhttp://www.shnenglu.com/cxiaojia/comments/187776.htmlhttp://www.shnenglu.com/cxiaojia/archive/2012/08/20/187776.html#Feedback3http://www.shnenglu.com/cxiaojia/comments/commentRss/187776.htmlhttp://www.shnenglu.com/cxiaojia/services/trackbacks/187776.html

涓姝ヤ竴姝ュ啓騫寵 浜屽弶鏍戯紙AVL鏍戯級

浣滆咃細C灝忓姞 鏇存柊鏃墮棿錛?/span>2012-8-20

銆銆騫寵 浜屽弶鏍戯紙Balanced Binary Tree錛夋槸浜屽弶鏌ユ壘鏍戠殑涓涓繘鍖栦綋錛屼篃鏄涓涓紩鍏ュ鉤琛℃蹇電殑浜屽弶鏍戙?962騫達紝G.M. Adelson-Velsky 鍜?E.M. Landis鍙戞槑浜嗚繖媯墊爲錛屾墍浠ュ畠鍙堝彨AVL鏍戙傚鉤琛′簩鍙夋爲瑕佹眰瀵逛簬姣忎竴涓妭鐐規潵璇達紝瀹冪殑宸﹀彸瀛愭爲鐨勯珮搴︿箣宸笉鑳借秴榪?錛屽鏋滄彃鍏ユ垨鑰呭垹闄や竴涓妭鐐逛嬌寰楅珮搴︿箣宸ぇ浜?錛屽氨瑕佽繘琛岃妭鐐逛箣闂寸殑鏃嬭漿錛屽皢浜屽弶鏍戦噸鏂扮淮鎸佸湪涓涓鉤琛$姸鎬併傝繖涓柟妗堝緢濂界殑瑙e喅浜嗕簩鍙夋煡鎵炬爲閫鍖栨垚閾捐〃鐨勯棶棰橈紝鎶婃彃鍏ワ紝鏌ユ壘錛屽垹闄ょ殑鏃墮棿澶嶆潅搴︽渶濂芥儏鍐靛拰鏈鍧忔儏鍐甸兘緇存寔鍦∣(logN)銆備絾鏄綣佹棆杞細浣挎彃鍏ュ拰鍒犻櫎鐗虹壊鎺塐(logN)宸﹀彸鐨勬椂闂達紝涓嶈繃鐩稿浜屽弶鏌ユ壘鏍戞潵璇達紝鏃墮棿涓婄ǔ瀹氫簡寰堝銆?/p>

銆銆騫寵 浜屽弶鏍戝疄鐜扮殑澶ч儴鍒嗚繃紼嬪拰浜屽弶鏌ユ壘鏍戞槸涓鏍風殑錛堝騫寵 浜屽弶鏍戜箣鍓嶄竴瀹氳浼氫簩鍙夋煡鎵炬爲錛夛紝鍖哄埆灝卞湪浜庢彃鍏ュ拰鍒犻櫎涔嬪悗瑕佸啓涓涓棆杞畻娉曞幓緇存寔騫寵 錛岀淮鎸佸鉤琛¢渶瑕佸熷姪涓涓妭鐐歸珮搴︾殑灞炴с傛垜鍙傝冧簡鏈烘宸ヤ笟鍑虹増紺劇殑銆婃暟鎹粨鏋勪笌綆楁硶鍒嗘瀽-C璇█鎻忚堪銆嬪啓浜嗕竴涓狢++鐗堢殑浠g爜銆傝繖鏈功鐨凙VLTree璁茬殑寰堝ソ錛屼笉榪囨病鏈夊緢瀹屾暣鐨勫幓鎻忚堪銆傛垜浼氫竴姝ヤ竴姝ョ殑璁茶В濡備綍鍐欏鉤琛′簩鍙夋爲錛岄噸鐐規槸騫寵 浜屽弶鏍戠殑鏍稿績閮ㄥ垎錛屼篃灝辨槸鏃嬭漿綆楁硶銆?/p>

絎竴姝ワ細鑺傜偣淇℃伅

銆銆鐩稿浜庝簩鍙夋煡鎵炬爲鐨勮妭鐐規潵璇達紝鎴戜滑闇瑕佺敤涓涓睘鎬т簩鍙夋爲鐨勯珮搴︼紝鐩殑鏄淮鎶ゆ彃鍏ュ拰鍒犻櫎榪囩▼涓殑鏃嬭漿綆楁硶銆?/p>

浠g爜濡備笅錛?/p>

//AVL鏍戣妭鐐逛俊鎭?/span>
template<class T>
class TreeNode
{
    public:
        TreeNode():lson(NULL),rson(NULL),freq(1),hgt(0){}
        T data;//鍊?/span>
        int hgt;//浠ユ鑺傜偣涓烘牴鐨勬爲鐨勯珮搴?/span>
        unsigned int freq;//棰戠巼
        TreeNode* lson;//鎸囧悜宸﹀効瀛愮殑鍦板潃
        TreeNode* rson;//鎸囧悜鍙沖効瀛愮殑鍦板潃
};

絎簩姝ワ細騫寵 浜屽弶鏍戠被鐨勫0鏄?/strong>

銆銆澹版槑涓殑鏃嬭漿鍑芥暟灝嗗湪鍚庤竟鐨勬楠や腑璇﹁В銆?/p>

浠g爜濡備笅錛?/p>

//AVL鏍戠被鐨勫睘鎬у拰鏂規硶澹版槑
template<class T>
class AVLTree
{
    private:
        TreeNode<T>* root;//鏍硅妭鐐?/span>
        void insertpri(TreeNode<T>* &node,T x);//鎻掑叆
        TreeNode<T>* findpri(TreeNode<T>* node,T x);//鏌ユ壘
        void insubtree(TreeNode<T>* node);//涓簭閬嶅巻
        void Deletepri(TreeNode<T>* &node,T x);//鍒犻櫎
        int height(TreeNode<T>* node);//姹傛爲鐨勯珮搴?/span>
        void SingRotateLeft(TreeNode<T>* &k2);//宸﹀乏鎯呭喌涓嬬殑鏃嬭漿
        void SingRotateRight(TreeNode<T>* &k2);//鍙沖彸鎯呭喌涓嬬殑鏃嬭漿
        void DoubleRotateLR(TreeNode<T>* &k3);//宸﹀彸鎯呭喌涓嬬殑鏃嬭漿
        void DoubleRotateRL(TreeNode<T>* &k3);//鍙沖乏鎯呭喌涓嬬殑鏃嬭漿
        int Max(int cmpa,int cmpb);//姹傛渶澶у?/span>

    public:
        AVLTree():root(NULL){}
        void insert(T x);//鎻掑叆鎺ュ彛
        TreeNode<T>* find(T x);//鏌ユ壘鎺ュ彛
        void Delete(T x);//鍒犻櫎鎺ュ彛
        void traversal();//閬嶅巻鎺ュ彛

};

絎笁姝ワ細涓や釜杈呭姪鏂規硶

銆銆鏃嬭漿綆楁硶闇瑕佸熷姪浜庝袱涓姛鑳界殑杈呭姪錛屼竴涓槸姹傛爲鐨勯珮搴︼紝涓涓槸姹備袱涓珮搴︾殑鏈澶у箋傝繖閲岃瀹氾紝涓媯電┖鏍戠殑楂樺害涓?1錛屽彧鏈変竴涓牴鑺傜偣鐨勬爲鐨勯珮搴︿負0錛屼互鍚庢瘡澶氫竴灞傞珮搴﹀姞1銆備負浜嗚В鍐蟲寚閽圢ULL榪欑鎯呭喌錛屽啓浜嗕竴涓眰楂樺害鐨勫嚱鏁幫紝榪欎釜鍑芥暟榪樻槸寰堟湁蹇呰鐨勩?/p>

浠g爜濡備笅錛?/p>

//璁$畻浠ヨ妭鐐逛負鏍圭殑鏍戠殑楂樺害
template<class T>
int AVLTree<T>::height(TreeNode<T>* node)
{
    if(node!=NULL)
        return node->hgt;
    return -1;
}
//姹傛渶澶у?/span>
template<class T>
int AVLTree<T>::Max(int cmpa,int cmpb)
{
    return cmpa>cmpb?cmpa:cmpb;
}

絎洓姝ワ細鏃嬭漿

銆銆瀵逛簬涓涓鉤琛$殑鑺傜偣錛岀敱浜庝換鎰忚妭鐐規渶澶氭湁涓や釜鍎垮瓙錛屽洜姝ら珮搴︿笉騫寵 鏃訛紝姝よ妭鐐圭殑涓ら瀛愭爲鐨勯珮搴﹀樊2.瀹規槗鐪嬪嚭錛岃繖縐嶄笉騫寵 鍑虹幇鍦ㄤ笅闈㈠洓縐嶆儏鍐碉細

銆銆1銆?鑺傜偣鐨勫乏瀛愭爲3鑺傜偣楂樺害姣斿彸瀛愭爲7鑺傜偣澶?錛屽乏瀛愭爲3鑺傜偣鐨勫乏瀛愭爲1鑺傜偣楂樺害澶т簬鍙沖瓙鏍?鑺傜偣錛岃繖縐嶆儏鍐墊垚涓?span data-mce-style="color: #ff0000;" style="color: #ff0000; ">宸﹀乏銆?/p>

銆銆2銆?鑺傜偣鐨勫乏瀛愭爲2鑺傜偣楂樺害姣斿彸瀛愭爲7鑺傜偣澶?錛屽乏瀛愭爲2鑺傜偣鐨勫乏瀛愭爲1鑺傜偣楂樺害灝忎簬鍙沖瓙鏍?鑺傜偣錛岃繖縐嶆儏鍐墊垚涓?span data-mce-style="color: #ff0000;" style="color: #ff0000; ">宸﹀彸銆?/p>

銆銆3銆?鑺傜偣鐨勫乏瀛愭爲1鑺傜偣楂樺害姣斿彸瀛愭爲5鑺傜偣灝?錛屽彸瀛愭爲5鑺傜偣鐨勫乏瀛愭爲3鑺傜偣楂樺害澶т簬鍙沖瓙鏍?鑺傜偣錛岃繖縐嶆儏鍐墊垚涓?span data-mce-style="color: #ff0000;" style="color: #ff0000; ">鍙沖乏銆?/p>

銆銆4銆?鑺傜偣鐨勫乏瀛愭爲1鑺傜偣楂樺害姣斿彸瀛愭爲4鑺傜偣灝?錛屽彸瀛愭爲4鑺傜偣鐨勫乏瀛愭爲3鑺傜偣楂樺害灝忎簬鍙沖瓙鏍?鑺傜偣錛岃繖縐嶆儏鍐墊垚涓?span data-mce-style="color: #ff0000;" style="color: #ff0000; ">鍙沖彸銆?/p>

銆銆浠庡浘2涓彲浠ュ彲浠ョ湅鍑猴紝1鍜?涓ょ鎯呭喌鏄縐扮殑錛岃繖涓ょ鎯呭喌鐨勬棆杞畻娉曟槸涓鑷寸殑錛屽彧闇瑕佺粡榪囦竴嬈℃棆杞氨鍙互杈懼埌鐩爣錛屾垜浠О涔嬩負鍗曟棆杞?鍜?涓ょ鎯呭喌涔熸槸瀵圭О鐨勶紝榪欎袱縐嶆儏鍐電殑鏃嬭漿綆楁硶涔熸槸涓鑷寸殑錛岄渶瑕佽繘琛屼袱嬈℃棆杞紝鎴戜滑縐頒箣涓哄弻鏃嬭漿銆?/p>

絎簲姝ワ細鍗曟棆杞?/strong>

銆銆鍗曟棆杞槸閽堝浜庡乏宸﹀拰鍙沖彸榪欎袱縐嶆儏鍐電殑瑙e喅鏂規錛岃繖涓ょ鎯呭喌鏄縐扮殑錛屽彧瑕佽В鍐充簡宸﹀乏榪欑鎯呭喌錛屽彸鍙沖氨寰堝ソ鍔炰簡銆傚浘3鏄乏宸︽儏鍐電殑瑙e喅鏂規錛岃妭鐐筴2涓嶆弧瓚沖鉤琛$壒鎬э紝鍥犱負瀹冪殑宸﹀瓙鏍慿1姣斿彸瀛愭爲Z娣?灞傦紝鑰屼笖k1瀛愭爲涓紝鏇存繁鐨勪竴灞傜殑鏄痥1鐨勫乏瀛愭爲X瀛愭爲錛屾墍浠ュ睘浜庡乏宸︽儏鍐點?/p>


銆銆涓轟嬌鏍戞仮澶嶅鉤琛★紝鎴戜滑鎶妅2鍙樻垚榪欐5鏍戠殑鏍硅妭鐐癸紝鍥犱負k2澶т簬k1錛屾妸k2緗簬k1鐨勫彸瀛愭爲涓婏紝鑰屽師鏈湪k1鍙沖瓙鏍戠殑Y澶т簬k1錛屽皬浜巏2錛屽氨鎶奩緗簬k2鐨勫乏瀛愭爲涓婏紝榪欐牱鏃㈡弧瓚充簡浜屽弶鏌ユ壘鏍戠殑鎬ц川錛屽張婊¤凍浜嗗鉤琛′簩鍙夋爲鐨勬ц川銆?/p>

銆銆榪欐牱鐨勬搷浣滃彧闇瑕佷竴閮ㄥ垎鎸囬拡鏀瑰彉錛岀粨鏋滄垜浠緱鍒板彟澶栦竴棰椾簩鍙夋煡鎵炬爲錛屽畠鏄竴媯礎VL鏍戯紝鍥犱負X鍚戜笂涓縐誨姩浜嗕竴灞傦紝Y榪樺仠鐣欏湪鍘熸潵鐨勫眰闈笂錛孼鍚戜笅縐誨姩浜嗕竴灞傘傛暣媯墊爲鐨勬柊楂樺害鍜屼箣鍓嶆病鏈夊湪宸﹀瓙鏍戜笂鎻掑叆鐨勯珮搴︾浉鍚岋紝鎻掑叆鎿嶄綔浣垮緱X楂樺害闀塊珮浜嗐傚洜姝わ紝鐢變簬榪欓瀛愭爲楂樺害娌℃湁鍙樺寲錛屾墍浠ラ氬線鏍硅妭鐐圭殑璺緞灝變笉闇瑕佺戶緇棆杞簡銆?/p>

浠g爜濡備笅錛?/p>

//宸﹀乏鎯呭喌涓嬬殑鏃嬭漿
template<class T>
void AVLTree<T>::SingRotateLeft(TreeNode<T>* &k2)
{
    TreeNode<T>* k1;
    k1=k2->lson;
    k2->lson=k1->rson;
    k1->rson=k2;

    k2->hgt=Max(height(k2->lson),height(k2->rson))+1;
    k1->hgt=Max(height(k1->lson),k2->hgt)+1;
}
//鍙沖彸鎯呭喌涓嬬殑鏃嬭漿
template<class T>
void AVLTree<T>::SingRotateRight(TreeNode<T>* &k2)
{
    TreeNode<T>* k1;
    k1=k2->rson;
    k2->rson=k1->lson;
    k1->lson=k2;

    k2->hgt=Max(height(k2->lson),height(k2->rson))+1;
    k1->hgt=Max(height(k1->rson),k2->hgt)+1;
}

絎叚姝ワ細鍙屾棆杞?/strong>

銆銆瀵逛簬宸﹀彸鍜屽彸宸﹁繖涓ょ鎯呭喌錛屽崟鏃嬭漿涓嶈兘浣垮畠杈懼埌涓涓鉤琛$姸鎬侊紝瑕佺粡榪囦袱嬈℃棆杞傚弻鏃嬭漿鏄拡瀵逛簬榪欎袱縐嶆儏鍐電殑瑙e喅鏂規錛屽悓鏍風殑錛岃繖鏍蜂袱縐嶆儏鍐典篃鏄縐扮殑錛屽彧瑕佽В鍐充簡宸﹀彸榪欑鎯呭喌錛屽彸宸﹀氨寰堝ソ鍔炰簡銆傚浘4鏄乏鍙蟲儏鍐電殑瑙e喅鏂規錛岃妭鐐筴3涓嶆弧瓚沖鉤琛$壒鎬э紝鍥犱負瀹冪殑宸﹀瓙鏍慿1姣斿彸瀛愭爲Z娣?灞傦紝鑰屼笖k1瀛愭爲涓紝鏇存繁鐨勪竴灞傜殑鏄痥1鐨勫彸瀛愭爲k2瀛愭爲錛屾墍浠ュ睘浜庡乏鍙蟲儏鍐點?/p>

 銆銆涓轟嬌鏍戞仮澶嶅鉤琛★紝鎴戜滑闇瑕佽繘琛屼袱姝ワ紝絎竴姝ワ紝鎶妅1浣滀負鏍癸紝榪涜涓嬈″彸鍙蟲棆杞紝鏃嬭漿涔嬪悗灝卞彉鎴愪簡宸﹀乏鎯呭喌錛屾墍浠ョ浜屾鍐嶈繘琛屼竴嬈″乏宸︽棆杞紝鏈鍚庡緱鍒頒簡涓媯典互k2涓烘牴鐨勫鉤琛′簩鍙夋爲鏍戙?/p>

浠g爜濡備笅錛?/p>

//宸﹀彸鎯呭喌鐨勬棆杞?/span>
template<class T>
void AVLTree<T>::DoubleRotateLR(TreeNode<T>* &k3)
{
    SingRotateRight(k3->lson);
    SingRotateLeft(k3);
}
//鍙沖乏鎯呭喌鐨勬棆杞?/span>
template<class T>
void AVLTree<T>::DoubleRotateRL(TreeNode<T>* &k3)
{
    SingRotateLeft(k3->rson);
    SingRotateRight(k3);
}

 絎竷姝ワ細鎻掑叆

銆銆鎻掑叆鐨勬柟娉曞拰浜屽弶鏌ユ壘鏍戝熀鏈竴鏍鳳紝鍖哄埆鏄紝鎻掑叆瀹屾垚鍚庨渶瑕佷粠鎻掑叆鐨勮妭鐐瑰紑濮嬬淮鎶や竴涓埌鏍硅妭鐐圭殑璺緞錛屾瘡緇忚繃涓涓妭鐐歸兘瑕佺淮鎸佹爲鐨勫鉤琛°傜淮鎸佹爲鐨勫鉤琛¤鏍規嵁楂樺害宸殑鐗圭偣閫夋嫨涓嶅悓鐨勬棆杞畻娉曘?/p>

浠g爜濡備笅錛?/p>

//鎻掑叆
template<class T>
void AVLTree<T>::insertpri(TreeNode<T>* &node,T x)
{
    if(node==NULL)//濡傛灉鑺傜偣涓虹┖,灝卞湪姝よ妭鐐瑰鍔犲叆x淇℃伅
    {
        node=new TreeNode<T>();
        node->data=x;
        return;
    }
    if(node->data>x)//濡傛灉x灝忎簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫乏瀛愭爲涓彃鍏
    {
        insertpri(node->lson,x);
        if(2==height(node->lson)-height(node->rson))
            if(x<node->lson->data)
                SingRotateLeft(node);
            else
                DoubleRotateLR(node);
    }
    else if(node->data<x)//濡傛灉x澶т簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫彸瀛愭爲涓彃鍏
    {
        insertpri(node->rson,x);
        if(2==height(node->rson)-height(node->lson))//濡傛灉楂樺害涔嬪樊涓?鐨勮瘽灝卞け鍘諱簡騫寵 ,闇瑕佹棆杞?/span>
            if(x>node->rson->data)
                SingRotateRight(node);
            else
                DoubleRotateRL(node);
    }
    else ++(node->freq);//濡傛灉鐩哥瓑,灝辨妸棰戠巼鍔?
    node->hgt=Max(height(node->lson),height(node->rson));
}
//鎻掑叆鎺ュ彛
template<class T>
void AVLTree<T>::insert(T x)
{
    insertpri(root,x);
}

絎叓姝ワ細鏌ユ壘

鍜屼簩鍙夋煡鎵炬爲鐩告瘮錛屾煡鎵炬柟娉曟病鏈夊彉娉曪紝涓嶈繃鏍規嵁瀛樺偍鐨勭壒鎬э紝AVL鏍戣兘緇存寔鍦ㄤ竴涓狾(logN)鐨勭ǔ瀹氱殑鏃墮棿錛岃屼簩鍙夋煡鎵炬爲鍒欑浉褰撲笉紼沖畾銆?/p>

浠g爜濡備笅錛?/p>

//鏌ユ壘
template<class T>
TreeNode<T>* AVLTree<T>::findpri(TreeNode<T>* node,T x)
{
    if(node==NULL)//濡傛灉鑺傜偣涓虹┖璇存槑娌℃壘鍒?榪斿洖NULL
    {
        return NULL;
    }
    if(node->data>x)//濡傛灉x灝忎簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫乏瀛愭爲涓煡鎵緓
    {
        return findpri(node->lson,x);
    }
    else if(node->data<x)//濡傛灉x澶т簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫乏瀛愭爲涓煡鎵緓
    {
        return findpri(node->rson,x);
    }
    else return node;//濡傛灉鐩哥瓑,灝辨壘鍒頒簡姝よ妭鐐?/span>
}
//鏌ユ壘鎺ュ彛
template<class T>
TreeNode<T>* AVLTree<T>::find(T x)
{
    return findpri(root,x);
}

絎節姝ワ細鍒犻櫎

銆銆鍒犻櫎鐨勬柟娉曚篃鍜屼簩鍙夋煡鎵炬爲鐨勪竴鑷達紝鍖哄埆鏄紝鍒犻櫎瀹屾垚鍚庯紝闇瑕佷粠鍒犻櫎鑺傜偣鐨勭埗浜插紑濮嬪悜涓婄淮鎶ゆ爲鐨勫鉤琛′竴鐩村埌鏍硅妭鐐廣?/p>

浠g爜濡備笅錛?/p>

//鍒犻櫎
template<class T>
void AVLTree<T>::Deletepri(TreeNode<T>* &node,T x)
{
    if(node==NULL) return ;//娌℃湁鎵懼埌鍊兼槸x鐨勮妭鐐?/span>
    if(x < node->data)
    {
         Deletepri(node->lson,x);//濡傛灉x灝忎簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫乏瀛愭爲涓垹闄
         if(2==height(node->rson)-height(node->lson))
            if(node->rson->lson!=NULL&&(height(node->rson->lson)>height(node->rson->rson)) )
                DoubleRotateRL(node);
            else
                SingRotateRight(node);
    }

    else if(x > node->data)
    {
         Deletepri(node->rson,x);//濡傛灉x澶т簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫彸瀛愭爲涓垹闄
         if(2==height(node->lson)-height(node->rson))
            if(node->lson->rson!=NULL&& (height(node->lson->rson)>height(node->lson->lson) ))
                DoubleRotateLR(node);
            else
                SingRotateLeft(node);
    }

    else//濡傛灉鐩哥瓑,姝よ妭鐐瑰氨鏄鍒犻櫎鐨勮妭鐐?/span>
    {
        if(node->lson&&node->rson)//姝よ妭鐐規湁涓や釜鍎垮瓙
        {
            TreeNode<T>* temp=node->rson;//temp鎸囧悜鑺傜偣鐨勫彸鍎垮瓙
            while(temp->lson!=NULL) temp=temp->lson;//鎵懼埌鍙沖瓙鏍戜腑鍊兼渶灝忕殑鑺傜偣
            
//鎶婂彸瀛愭爲涓渶灝忚妭鐐圭殑鍊艱祴鍊肩粰鏈妭鐐?/span>
            node->data=temp->data;
            node->freq=temp->freq;
            Deletepri(node->rson,temp->data);//鍒犻櫎鍙沖瓙鏍戜腑鏈灝忓肩殑鑺傜偣
            if(2==height(node->lson)-height(node->rson))
            {
                if(node->lson->rson!=NULL&& (height(node->lson->rson)>height(node->lson->lson) ))
                    DoubleRotateLR(node);
                else
                    SingRotateLeft(node);
            }
        }
        else//姝よ妭鐐規湁1涓垨0涓効瀛?/span>
        {
            TreeNode<T>* temp=node;
            if(node->lson==NULL)//鏈夊彸鍎垮瓙鎴栬呮病鏈夊効瀛?/span>
            node=node->rson;
            else if(node->rson==NULL)//鏈夊乏鍎垮瓙
            node=node->lson;
            delete(temp);
            temp=NULL;
        }
    }
    if(node==NULL) return;
    node->hgt=Max(height(node->lson),height(node->rson))+1;
    return;
}
//鍒犻櫎鎺ュ彛
template<class T>
void AVLTree<T>::Delete(T x)
{
    Deletepri(root,x);
}

絎崄姝ワ細涓簭閬嶅巻

浠g爜濡備笅錛?/p>

//涓簭閬嶅巻鍑芥暟
template<class T>
void AVLTree<T>::insubtree(TreeNode<T>* node)
{
    if(node==NULL) return;
    insubtree(node->lson);//鍏堥亶鍘嗗乏瀛愭爲
    cout<<node->data<<" ";//杈撳嚭鏍硅妭鐐?/span>
    insubtree(node->rson);//鍐嶉亶鍘嗗彸瀛愭爲
}
//涓簭閬嶅巻鎺ュ彛
template<class T>
void AVLTree<T>::traversal()
{
    insubtree(root);
}

絎崄涓姝ワ細鍏充簬鏁堢巼

銆銆姝ゆ暟鎹粨鏋勬彃鍏ャ佹煡鎵懼拰鍒犻櫎鐨勬椂闂村鏉傚害鍧囦負O(logN)錛屼絾鏄彃鍏ュ拰鍒犻櫎闇瑕侀澶栫殑鏃嬭漿綆楁硶闇瑕佺殑鏃墮棿錛屾湁鏃舵棆杞繃澶氫篃浼氬獎鍝嶆晥鐜囥?/p>

銆銆鍏充簬閫掑綊鍜岄潪閫掑綊銆傛垜鐢ㄧ殑鏄掑綊鐨勬柟娉曡繘琛屾彃鍏ワ紝鏌ユ壘鍜屽垹闄わ紝鑰岄潪閫掑綊鐨勬柟娉曚竴鑸潵璇磋姣旈掑綊鐨勬柟娉曞揩寰堝錛屼絾鏄垜鎰熻闈為掑綊鐨勬柟娉曞啓鍑烘潵浼氭瘮杈冨洶闅撅紝鎵浠ユ垜榪樻槸閫夋嫨浜嗛掑綊鐨勬柟娉曘?/p>

銆銆榪樻湁涓縐嶆晥鐜囩殑闂鏄叧浜庨珮搴︿俊鎭殑瀛樺偍錛岀敱浜庢垜浠渶瑕佺殑浠呬粎鏄珮搴︾殑宸紝涓嶉渶瑕佺煡閬撹繖媯墊爲鐨勯珮搴︼紝鎵浠ュ彧闇瑕佷嬌鐢ㄤ袱涓簩榪涘埗浣嶅氨鍙互琛ㄧず榪欎釜宸傝繖鏍峰彲浠ラ伩鍏嶅鉤琛″洜瀛愮殑閲嶅璁$畻錛屽彲浠ョ◢寰殑鍔犲揩涓浜涢熷害錛屼笉榪囦唬鐮佷篃涓уけ浜嗙浉瀵圭畝鏄庢у拰娓呮櫚搴︺傚鏋滈噰鐢ㄩ掑綊鍐欐硶鐨勮瘽錛岃繖縐嶅井鍔犻熷氨鏇存樉寰楀井涔庡叾寰簡銆?/p>

 

銆銆濡傛灉鏈夊摢浜涗笉瀵圭殑鎴栬呬笉娓呮櫚鐨勫湴鏂硅鎸囧嚭錛屾垜浼氫慨鏀瑰茍鍔犱互瀹屽杽銆?/p>

 銆銆闄勶細瀹屾暣浠g爜

 



]]>
涓姝ヤ竴姝ュ啓浜屽弶鏌ユ壘鏍?/title><link>http://www.shnenglu.com/cxiaojia/archive/2012/08/09/186752.html</link><dc:creator>C灝忓姞</dc:creator><author>C灝忓姞</author><pubDate>Thu, 09 Aug 2012 08:56:00 GMT</pubDate><guid>http://www.shnenglu.com/cxiaojia/archive/2012/08/09/186752.html</guid><wfw:comment>http://www.shnenglu.com/cxiaojia/comments/186752.html</wfw:comment><comments>http://www.shnenglu.com/cxiaojia/archive/2012/08/09/186752.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/cxiaojia/comments/commentRss/186752.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cxiaojia/services/trackbacks/186752.html</trackback:ping><description><![CDATA[<p align="center" style="text-align:center"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif""></span></strong></p><p align="center" style="text-align:center"></p><div style="text-align: center;"><strong>涓姝ヤ竴姝ュ啓浜屽弶鏌ユ壘鏍?/strong></div><p> </p> <p align="center" style="text-align:center"><span style="font-family:"寰蔣闆呴粦","sans-serif";color:red">浣滆咃細</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">C</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">灝忓姞  <span style="color:red">鏇存柊鏃墮棿錛?/span>2012-8-9</span></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">浜屽弶鏌ユ壘鏍戯紙</span>BST<span style="font-family:瀹嬩綋;">錛夋槸浜屽弶鏍戠殑涓涓噸瑕佺殑搴旂敤錛屽畠鍦ㄤ簩鍙夋爲鐨勫熀紜涓婂姞涓婁簡榪欐牱鐨勪竴涓ц川錛氬浜庢爲涓殑姣忎竴涓妭鐐規潵璇達紝濡傛灉鏈夊乏鍎垮瓙鐨勮瘽錛屽畠鐨勫乏鍎垮瓙鐨勫間竴瀹氬皬浜庡畠鏈韓鐨勫鹼紝濡傛灉鏈夊彸鍎垮瓙鐨勮瘽錛屽畠鐨勫彸鍎垮瓙鐨勫間竴瀹氬ぇ浜庡畠鏈韓鐨勫箋?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">浜屽弶鏌ユ壘鏍戠殑鎿嶄綔涓鑸湁鎻掑叆銆佸垹闄ゅ拰鏌ユ壘錛岃繖鍑犱釜鎿嶄綔鐨勫鉤鍧囨椂闂村鏉傚害閮戒負</span>O(logn)<span style="font-family:瀹嬩綋;">錛屾彃鍏ュ拰鏌ユ壘鎿嶄綔寰堢畝鍗曪紝鍒犻櫎鎿嶄綔浼氬鏉備竴鐐癸紝闄ゆ涔嬪錛屽洜涓轟簩鍙夋爲鐨勪腑搴忛亶鍘嗘槸涓涓湁搴忓簭鍒楋紝鎴戝氨棰濆鍔犱笂浜嗕竴涓腑搴忛亶鍘嗘搷浣溿?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">浜屽弶鏌ユ壘鏍戠殑搴旂敤涓嶆槸寰堝錛屽洜涓哄畠鏈鍧忕殑鏃跺欒窡綰挎ц〃宸笉澶氾紝澶ч儴鍒嗕細搴旂敤鍒板畠鐨勫崌綰х増錛屽鉤琛′簩鍙夋爲鍜岀孩榛戞爲錛岃繖涓ゆ5鏍戦兘鑳芥妸鏃墮棿澶嶆潅搴︾ǔ瀹氬湪</span>O(logn)<span style="font-family:瀹嬩綋;">宸﹀彸銆傝櫧鐒朵笉浼氱敤鍒幫紝浣嗘槸浜屽弶鏌ユ壘鏍戞槸涓瀹氳瀛﹀ソ鐨勶紝姣曠珶瀹冩槸騫寵 浜屽弶鏍戝拰綰㈤粦鏍戠殑鍩虹銆?/span></p> <p><span style="font-family:瀹嬩綋;">鎺ヤ笅鏉ヤ竴姝ヤ竴姝ュ啓涓涓簩鍙夋煡鎵炬爲妯℃澘銆?a href="/Files/cxiaojia/bst.zip">瀹屾暣浠g爜涓嬭澆</a></span></p> <p><strong><span style="font-family:瀹嬩綋;">絎竴姝ワ細鑺傜偣淇℃伅</span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">浜屽弶鏌ユ壘鏍戠殑鑺傜偣鍜屼簩鍙夋爲鐨勮妭鐐瑰ぇ閮ㄥ垎鏄竴鏍風殑錛屼笉鍚岀殑鏄紝浜屽弶鏌ユ壘鏍戝浜嗕竴涓煎嚭鐜扮殑嬈℃暟銆傚鍥?/span>1<span style="font-family:瀹嬩綋;">鏄劇ず浜嗕簩鍙夋煡鎵炬爲鐨勮妭鐐逛俊鎭?br /><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/bst1.png" width="600" height="148" alt="" /><br /></span></p> <p><span style="font-family:瀹嬩綋;">浠g爜濡備笅錛?/span></p> <p> </p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">浜屽弶鏌ユ壘鏍戣妭鐐逛俊鎭?/span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">class</span> TreeNode<br />{<br />    <span style="color: #0000FF; ">public</span>:<br />        TreeNode():lson(NULL),rson(NULL),freq(1){}<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒濆鍖?/span><span style="color: #008000; "><br /></span>        T data;<span style="color: #008000; ">//</span><span style="color: #008000; ">鍊?/span><span style="color: #008000; "><br /></span>        unsigned <span style="color: #0000FF; ">int</span> freq;<span style="color: #008000; ">//</span><span style="color: #008000; ">棰戠巼</span><span style="color: #008000; "><br /></span>        TreeNode* lson;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎸囧悜宸﹀効瀛愮殑鍧愭爣</span><span style="color: #008000; "><br /></span>        TreeNode* rson;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎸囧悜鍙沖効瀛愮殑鍧愭爣</span><span style="color: #008000; "><br /></span>};</div><p> </p> <p><strong><span style="font-family:瀹嬩綋;">絎簩姝ワ細浜屽弶鏌ユ壘鏍戠被鐨勫0鏄?/span></strong></p> <p><span style="font-family:瀹嬩綋;">浠g爜濡備笅錛?/span></p> <p> </p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">浜屽弶鏌ユ壘鏍戠被鐨勫睘鎬у拰鏂規硶澹版槑</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">class</span> BST<br />{<br />    <span style="color: #0000FF; ">private</span>:<br />        TreeNode<T>* root;<span style="color: #008000; ">//</span><span style="color: #008000; ">鏍硅妭鐐?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> insertpri(TreeNode<T>* &node,T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鎻掑叆</span><span style="color: #008000; "><br /></span>        TreeNode<T>* findpri(TreeNode<T>* node,T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鏌ユ壘</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> insubtree(TreeNode<T>* node);<span style="color: #008000; ">//</span><span style="color: #008000; ">涓簭閬嶅巻</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> Deletepri(TreeNode<T>* &node,T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">public</span>:<br />        BST():root(NULL){}<br />        <span style="color: #0000FF; ">void</span> insert(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鎻掑叆鎺ュ彛</span><span style="color: #008000; "><br /></span>        TreeNode<T>* find(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鏌ユ壘鎺ュ彛</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> Delete(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎鎺ュ彛</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> traversal();<span style="color: #008000; ">//</span><span style="color: #008000; ">閬嶅巻鎺ュ彛</span><span style="color: #008000; "><br /></span> <br />};</div><p> </p> <p><strong><span style="font-family:瀹嬩綋;">絎笁姝ワ細鎻掑叆</span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">鏍規嵁浜屽弶鏌ユ壘鏍戠殑鎬ц川錛屾彃鍏ヤ竴涓妭鐐圭殑鏃跺欙紝濡傛灉鏍硅妭鐐逛負絀猴紝灝辨鑺傜偣浣滀負鏍硅妭鐐癸紝濡傛灉鏍硅妭鐐逛笉涓虹┖錛屽氨瑕佸厛鍜屾牴鑺傜偣姣旇緝錛屽鏋滄瘮鏍硅妭鐐圭殑鍊煎皬錛屽氨鎻掑叆鍒版牴鑺傜偣鐨勫乏瀛愭爲涓紝濡傛灉姣旀牴鑺傜偣鐨勫煎ぇ灝辨彃鍏ュ埌鏍硅妭鐐圭殑鍙沖瓙鏍戜腑錛屽姝ら掑綊涓嬪幓錛屾壘鍒版彃鍏ョ殑浣嶇疆銆傞噸澶嶈妭鐐圭殑鎻掑叆鐢ㄥ煎煙涓殑</span>freq<span style="font-family:瀹嬩綋;">鏍囪銆傚鍥?/span>2<span style="font-family:瀹嬩綋;">鏄竴涓彃鍏ョ殑榪囩▼銆?/span></p> <p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/bst2.png" width="634" height="506" alt="" /><br /></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">浜屽弶鏌ユ壘鏍戠殑鏃墮棿澶嶆潅搴﹁鐪嬭繖媯墊爲鐨勫艦鎬侊紝濡傛灉姣旇緝鎺ヨ繎涓涓媯靛畬鍏ㄤ簩鍙夋爲錛岄偅涔堟椂闂村鏉傚害鍦?/span>O(logn)<span style="font-family:瀹嬩綋;">宸﹀彸錛屽鏋滈亣鍒板鍥?/span>3<span style="font-family:瀹嬩綋;">榪欐牱鐨勪簩鍙夋爲鐨勮瘽錛岄偅涔堟椂闂村鏉傚害灝變細鎭㈠鍒扮嚎鎬х殑</span>O(n)<span style="font-family:瀹嬩綋;">浜嗐?/span></p> <p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/bst3.png" width="216" height="234" alt="" /><br /></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">騫寵 浜屽弶鏍戜細寰堝ソ鐨勮В鍐沖鍥?/span>3<span style="font-family:瀹嬩綋;">榪欑鎯呭喌銆?/span></p> <p><span style="font-family:瀹嬩綋;">鎻掑叆鍑芥暟鐨勪唬鐮佸涓嬶細</span></p> <p> </p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">鎻掑叆</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span> BST<T>::insertpri(TreeNode<T>* &node,T x)<br />{<br />    <span style="color: #0000FF; ">if</span>(node==NULL)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉鑺傜偣涓虹┖,灝卞湪姝よ妭鐐瑰鍔犲叆x淇℃伅</span><span style="color: #008000; "><br /></span>    {<br />        node=<span style="color: #0000FF; ">new</span> TreeNode<T>();<br />        node->data=x;<br />        <span style="color: #0000FF; ">return</span>;<br />    }<br />    <span style="color: #0000FF; ">if</span>(node->data>x)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉x灝忎簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫乏瀛愭爲涓彃鍏</span><span style="color: #008000; "><br /></span>    {<br />        insertpri(node->lson,x);<br />    }<br />    <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span>(node->data<x)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉x澶т簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫彸瀛愭爲涓彃鍏</span><span style="color: #008000; "><br /></span>    {<br />        insertpri(node->rson,x);<br />    }<br />    <span style="color: #0000FF; ">else</span> ++(node->freq);<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉鐩哥瓑,灝辨妸棰戠巼鍔?</span><span style="color: #008000; "><br /></span>}<br /><span style="color: #008000; ">//</span><span style="color: #008000; ">鎻掑叆鎺ュ彛</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span> BST<T>::insert(T x)<br />{<br />    insertpri(root,x);<br />}</div><p> </p> <p><strong><span style="font-family:瀹嬩綋;">絎洓姝ワ細鏌ユ壘</span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">鏌ユ壘鐨勫姛鑳藉拰鎻掑叆宸笉澶氫竴鏍鳳紝鎸夌収鎻掑叆閭f牱鐨勬柟寮忛掑綊涓嬪幓錛屽鏋滄壘鍒頒簡錛屽氨榪斿洖榪欎釜鑺傜偣鐨勫湴鍧錛屽鏋滄病鏈夋壘鍒幫紝灝辮繑鍥?/span>NULL<span style="font-family:瀹嬩綋;">銆?/span></p> <p><span style="font-family:瀹嬩綋;">浠g爜濡備笅錛?/span></p> <p> </p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">鏌ユ壘</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br />TreeNode<T>* BST<T>::findpri(TreeNode<T>* node,T x)<br />{<br />    <span style="color: #0000FF; ">if</span>(node==NULL)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉鑺傜偣涓虹┖璇存槑娌℃壘鍒?榪斿洖NULL</span><span style="color: #008000; "><br /></span>    {<br />        <span style="color: #0000FF; ">return</span> NULL;<br />    }<br />    <span style="color: #0000FF; ">if</span>(node->data>x)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉x灝忎簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫乏瀛愭爲涓煡鎵緓</span><span style="color: #008000; "><br /></span>    {<br />        <span style="color: #0000FF; ">return</span> findpri(node->lson,x);<br />    }<br />    <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span>(node->data<x)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉x澶т簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫乏瀛愭爲涓煡鎵緓</span><span style="color: #008000; "><br /></span>    {<br />        <span style="color: #0000FF; ">return</span> findpri(node->rson,x);<br />    }<br />    <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">return</span> node;<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉鐩哥瓑,灝辨壘鍒頒簡姝よ妭鐐?/span><span style="color: #008000; "><br /></span>}<br /><span style="color: #008000; ">//</span><span style="color: #008000; ">鏌ユ壘鎺ュ彛</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br />TreeNode<T>* BST<T>::find(T x)<br />{<br />    <span style="color: #0000FF; ">return</span> findpri(root,x);<br />}</div><p> </p> <p><strong><span style="font-family:瀹嬩綋;">絎簲姝ワ細鍒犻櫎</span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">鍒犻櫎浼氶夯鐑︿竴鐐癸紝濡傛灉鏄彾瀛愯妭鐐圭殑璇濓紝鐩存帴鍒犻櫎灝卞彲浠ヤ簡銆傚鏋滃彧鏈変竴涓瀛愮殑璇濓紝灝辮瀹冪殑鐖朵翰鎸囧悜瀹冪殑鍎垮瓙錛岀劧鍚庡垹闄よ繖涓妭鐐廣傚浘</span>4<span style="font-family:瀹嬩綋;">鏄劇ず浜嗕竴媯靛垵濮嬫爲鍜?/span>4<span style="font-family:瀹嬩綋;">鑺傜偣琚垹闄ゅ悗鐨勭粨鏋溿傚厛鐢ㄤ竴涓復鏃舵寚閽堟寚鍚?/span>4<span style="font-family:瀹嬩綋;">鑺傜偣錛屽啀璁?/span>4<span style="font-family:瀹嬩綋;">鑺傜偣鐨勫湴鍧鎸囧悜瀹冪殑瀛╁瓙錛岃繖涓椂鍊?/span>2<span style="font-family:瀹嬩綋;">鑺傜偣鐨勫彸鍎垮瓙灝卞彉鎴愪簡</span>3<span style="font-family:瀹嬩綋;">鑺傜偣錛屾渶鍚庡垹闄や復鏃惰妭鐐規寚鍚戠殑絀洪棿錛屼篃灝辨槸</span>4<span style="font-family:瀹嬩綋;">鑺傜偣銆?/span></p> <p> <img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/bst4.png" width="431" height="241" alt="" /></p> <p><span style="font-family:瀹嬩綋;">    鍒犻櫎鏈変袱涓効瀛愮殑鑺傜偣浼氭瘮杈冨鏉備竴浜涖備竴鑸殑鍒犻櫎絳栫暐鏄敤鍏跺彸瀛愭爲鏈灝忕殑鏁版嵁浠f浛璇ヨ妭鐐圭殑鏁版嵁騫墮掑綊鐨勫垹闄ゆ帀鍙沖瓙鏍戜腑鏈灝忔暟鎹殑鑺傜偣銆傚洜涓哄彸瀛愭爲涓暟鎹渶灝忕殑鑺傜偣鑲畾娌℃湁宸﹀効瀛愶紝鎵浠ュ垹闄ょ殑鏃跺欏鏄撲竴浜涖傚浘</span>5<span style="font-family:瀹嬩綋;">鏄劇ず浜嗕竴媯靛垵濮嬫爲鍜?/span>2<span style="font-family:瀹嬩綋;">鑺傜偣琚垹闄ゅ悗鐨勭粨鏋溿傞鍏堝湪</span>2<span style="font-family:瀹嬩綋;">鑺傜偣鐨勫彸瀛愭爲涓壘鍒版渶灝忕殑鑺傜偣</span>3<span style="font-family:瀹嬩綋;">錛岀劧鍚庢妸</span>3<span style="font-family:瀹嬩綋;">鐨勬暟鎹祴鍊肩粰</span>2<span style="font-family:瀹嬩綋;">鑺傜偣錛岃繖涓椂鍊?/span>2<span style="font-family:瀹嬩綋;">鑺傜偣鐨勬暟鎹彉涓?/span>3<span style="font-family:瀹嬩綋;">錛岀劧鍚庣殑宸ヤ綔灝辨槸鍒犻櫎鍙沖瓙鏍戜腑鐨?/span>3<span style="font-family:瀹嬩綋;">鑺傜偣浜嗭紝閲囩敤閫掑綊鍒犻櫎銆?/span></p> <p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/bst5.png" width="431" height="239" alt="" /><br /></p> <p><span style="font-family:瀹嬩綋;">    鎴戜滑鍙戠幇瀵?/span>2<span style="font-family:瀹嬩綋;">鑺傜偣鍙沖瓙鏍戠殑鏌ユ壘榪涜浜嗕袱閬嶏紝絎竴閬嶆壘鍒版渶灝忚妭鐐瑰茍璧嬪鹼紝絎簩閬嶅垹闄よ繖涓渶灝忕殑鑺傜偣錛岃繖鏍風殑鏁堢巼騫朵笉鏄緢楂樸備綘鑳戒笉鑳藉啓鍑哄彧鏌ユ壘涓嬈″氨鍙互瀹炵幇璧嬪煎拰鍒犻櫎涓や釜鍔熻兘鐨勫嚱鏁板憿錛?/span></p> <p><span style="font-family:瀹嬩綋;">    濡傛灉鍒犻櫎鐨勬鏁頒笉鏄緢澶氱殑璇濓紝鏈変竴縐嶅垹闄ょ殑鏂規硶浼氭瘮杈冨揩涓鐐癸紝鍚嶅瓧鍙噿鎯板垹闄ゆ硶錛氬綋涓涓厓绱犺琚垹闄ゆ椂錛屽畠浠嶇暀鍦ㄦ爲涓紝鍙槸澶氫簡涓涓垹闄ょ殑鏍囪銆傝繖縐嶆柟娉曠殑浼樼偣鏄垹闄ら偅涓姝ョ殑鏃墮棿寮閿灝卞彲浠ラ伩鍏嶄簡錛屽鏋滈噸鏂版彃鍏ュ垹闄ょ殑鑺傜偣鐨勮瘽錛屾彃鍏ユ椂涔熼伩鍏嶄簡鍒嗛厤絀洪棿鐨勬椂闂村紑閿銆傜己鐐規槸鏍戠殑娣卞害浼氬鍔狅紝鏌ユ壘鐨勬椂闂村鏉傚害浼氬鍔狅紝鎻掑叆鐨勬椂闂村彲鑳戒細澧炲姞銆?/span></p> <p><span style="font-family:瀹嬩綋;">鍒犻櫎鍑芥暟浠g爜濡備笅錛?/span></p> <p> </p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span> BST<T>::Deletepri(TreeNode<T>* &node,T x)<br />{<br />    <span style="color: #0000FF; ">if</span>(node==NULL) <span style="color: #0000FF; ">return</span> ;<span style="color: #008000; ">//</span><span style="color: #008000; ">娌℃湁鎵懼埌鍊兼槸x鐨勮妭鐐?/span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">if</span>(x < node->data)<br />    Deletepri(node->lson,x);<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉x灝忎簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫乏瀛愭爲涓垹闄</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span>(x > node->data)<br />    Deletepri(node->rson,x);<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉x澶т簬鑺傜偣鐨勫?灝辯戶緇湪鑺傜偣鐨勫彸瀛愭爲涓垹闄</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">else</span><span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉鐩哥瓑,姝よ妭鐐瑰氨鏄鍒犻櫎鐨勮妭鐐?/span><span style="color: #008000; "><br /></span>    {<br />        <span style="color: #0000FF; ">if</span>(node->lson&&node->rson)<span style="color: #008000; ">//</span><span style="color: #008000; ">姝よ妭鐐規湁涓や釜鍎垮瓙</span><span style="color: #008000; "><br /></span>        {<br />            TreeNode<T>* temp=node->rson;<span style="color: #008000; ">//</span><span style="color: #008000; ">temp鎸囧悜鑺傜偣鐨勫彸鍎垮瓙</span><span style="color: #008000; "><br /></span>            <span style="color: #0000FF; ">while</span>(temp->lson!=NULL) temp=temp->lson;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎵懼埌鍙沖瓙鏍戜腑鍊兼渶灝忕殑鑺傜偣<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">鎶婂彸瀛愭爲涓渶灝忚妭鐐圭殑鍊艱祴鍊肩粰鏈妭鐐?/span><span style="color: #008000; "><br /></span>            node->data=temp->data;<br />            node->freq=temp->freq;<br />            Deletepri(node->rson,temp->data);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎鍙沖瓙鏍戜腑鏈灝忓肩殑鑺傜偣</span><span style="color: #008000; "><br /></span>        }<br />        <span style="color: #0000FF; ">else</span><span style="color: #008000; ">//</span><span style="color: #008000; ">姝よ妭鐐規湁1涓垨0涓効瀛?/span><span style="color: #008000; "><br /></span>        {<br />            TreeNode<T>* temp=node;<br />            <span style="color: #0000FF; ">if</span>(node->lson==NULL)<span style="color: #008000; ">//</span><span style="color: #008000; ">鏈夊彸鍎垮瓙鎴栬呮病鏈夊効瀛?/span><span style="color: #008000; "><br /></span>            node=node->rson;<br />            <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span>(node->rson==NULL)<span style="color: #008000; ">//</span><span style="color: #008000; ">鏈夊乏鍎垮瓙</span><span style="color: #008000; "><br /></span>            node=node->lson;<br />            delete(temp);<br />        }<br />    }<br />    <span style="color: #0000FF; ">return</span>;<br />}<br /><span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎鎺ュ彛</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span> BST<T>::Delete(T x)<br />{<br />    Deletepri(root,x);<br />}</div><p> </p> <p><strong><span style="font-family:瀹嬩綋;">絎叚姝ワ細涓簭閬嶅巻</span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">閬嶅巻鐨勬柟娉曞拰浜屽弶鏍戠殑鏂規硶涓鏍鳳紝鍐欒繖涓柟娉曠殑鐩殑鍛紝鏄緭鍑鴻繖涓簩鍙夋煡鎵炬爲鐨勬湁搴忓簭鍒椼?/span></p> <p><span style="font-family:瀹嬩綋;">浠g爜濡備笅錛?/span></p> <p> </p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; ">涓簭閬嶅巻鍑芥暟</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span> BST<T>::insubtree(TreeNode<T>* node)<br />{<br />    <span style="color: #0000FF; ">if</span>(node==NULL) <span style="color: #0000FF; ">return</span>;<br />    insubtree(node->lson);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍏堥亶鍘嗗乏瀛愭爲</span><span style="color: #008000; "><br /></span>    cout<<node->data<<" ";<span style="color: #008000; ">//</span><span style="color: #008000; ">杈撳嚭鏍硅妭鐐?/span><span style="color: #008000; "><br /></span>    insubtree(node->rson);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍐嶉亶鍘嗗彸瀛愭爲</span><span style="color: #008000; "><br /></span>}<br /><span style="color: #008000; ">//</span><span style="color: #008000; ">涓簭閬嶅巻鎺ュ彛</span><span style="color: #008000; "><br /></span>template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span> BST<T>::traversal()<br />{<br />    insubtree(root);<br />}</div><p> </p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">鍒版錛屾暣涓唬鐮佸氨瀹屾垚浜嗭紝浠g爜涓偗瀹氭湁寰堝涓嶅畬鍠勭殑鍦版柟璇鋒寚鍑猴紝鎴戜細鍔犱互瀹屽杽錛岃阿璋€?/span></p> <p>    </p> <p style="text-indent:21.0pt;"><span style="font-family:瀹嬩綋;">瀵逛簬浜屽弶鏌ユ壘鏍戜笉紼沖畾鐨勬椂闂村鏉傚害鐨勮В鍐蟲柟妗堟湁涓嶅皯錛屽鉤琛′簩鍙夋爲銆佷幾灞曟爲鍜岀孩榛戞爲閮藉彲浠ヨВ鍐寵繖涓棶棰橈紝浣嗘晥鏋滄槸涓嶄竴鏍風殑銆?/span></p><p><span style="font-family:瀹嬩綋;"></span></p><img src ="http://www.shnenglu.com/cxiaojia/aggbug/186752.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cxiaojia/" target="_blank">C灝忓姞</a> 2012-08-09 16:56 <a href="http://www.shnenglu.com/cxiaojia/archive/2012/08/09/186752.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍩烘湰鏁版嵁緇撴瀯錛氫簩鍙夋爲錛坆inary tree錛?/title><link>http://www.shnenglu.com/cxiaojia/archive/2012/08/06/186432.html</link><dc:creator>C灝忓姞</dc:creator><author>C灝忓姞</author><pubDate>Mon, 06 Aug 2012 03:26:00 GMT</pubDate><guid>http://www.shnenglu.com/cxiaojia/archive/2012/08/06/186432.html</guid><wfw:comment>http://www.shnenglu.com/cxiaojia/comments/186432.html</wfw:comment><comments>http://www.shnenglu.com/cxiaojia/archive/2012/08/06/186432.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/cxiaojia/comments/commentRss/186432.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cxiaojia/services/trackbacks/186432.html</trackback:ping><description><![CDATA[<p align="center" style="text-align:center"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍩烘湰鏁版嵁緇撴瀯錛氫簩鍙夋爲錛坆inary tree錛?/span></strong></p> <p align="center" style="text-align:center"><span style="font-family:"寰蔣闆呴粦","sans-serif";color:red">浣滆咃細</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">C</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">灝忓姞  <span style="color:red">鏇存柊鏃墮棿錛?/span>2012-8-6</span></p> <p><span style="font-family:"寰蔣闆呴粦","sans-serif"">浜屽弶鏍戦鍏堟槸涓媯墊爲錛屾瘡涓妭鐐歸兘涓嶈兘鏈夊浜庝袱涓殑鍎垮瓙錛屼篃灝辨槸鏍戠殑搴︿笉鑳借秴榪?銆備簩鍙夋爲鐨勪袱涓効瀛愬垎鍒О涓?#8220;宸﹀効瀛?#8221;鍜?#8220;鍙沖効瀛?#8221;錛屾搴忎笉鑳介鍊掋傚鍥?鏄竴涓畝鍗曠殑浜屽弶鏍戙?br /><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/bintree1.png" width="889" height="373" alt="" /><br /></span></p> <p> </p> <p><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">浜屽弶鏍戠殑縐嶇被</span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">涓縐嶆槸婊′簩鍙夋爲錛岄櫎浜嗘渶鍚庝竴灞傜殑鍙跺瓙鑺傜偣澶栵紝姣忎竴灞傜殑鑺傜偣閮藉繀欏繪湁涓や釜鍎垮瓙鑺傜偣銆傚鍥?鏄竴涓弧浜屽弶鏍戙?br /><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/bintree2.png" width="889" height="360" alt="" /><br /></span></p> <p> </p> <p style="text-indent:26.25pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍙︿竴縐嶆槸瀹屽叏浜屽弶鏍戯紝涓媯典簩鍙夋爲鍘繪帀鏈鍚庝竴灞傚悗鍓╀笅鐨勮妭鐐圭粍鎴愮殑鏍戜負婊′簩鍙夋爲錛屾渶鍚庝竴灞傜殑鑺傜偣浠庡乏鍒板彸榪炵畫錛屾病鏈夌┖鍑虹殑鑺傜偣錛岃繖鏍風殑鏍戠О涓哄畬鍏ㄤ簩鍙夋爲銆傚鍥?鏄竴媯靛畬鍏ㄤ簩鍙夋爲銆?br /><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/bintree_3.png" width="919" height="353" alt="" /><br /></span></p> <p> </p> <p><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">浜屽弶鏍戠殑瀹炵幇</span></strong></p> <p style="text-indent:26.25pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍥犱負涓媯墊爲鏈夋渶澶氬彧鏈変袱涓効瀛愶紝鎵浠ユ垜浠彲浠ョ敤鎸囬拡鐩存帴鎸囧悜浠栦滑銆備竴涓妭鐐瑰寘鎷鹼紙data錛夈佹寚鍚戝乏鍎垮瓙鐨勬寚閽堬紙lson錛夊拰鎸囧悜鍙沖効瀛愮殑鎸囬拡錛坮son錛夈?/span></p> <p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">struct</span> treenode<br />{<br /><span style="color: #0000FF; ">int</span> data;<br /><span style="color: #0000FF; ">struct</span> treenode* lson;<br /><span style="color: #0000FF; ">struct</span> treenode* rson;<br /> <br />}</div></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浜屽弶鏍戠殑鎻掑叆,鍒犻櫎,鏌ユ壘鍜岄摼琛ㄥ樊涓嶅,涓嶅悓鐨勬槸闇瑕佹寚瀹氭槸宸﹀効瀛愯繕鏄彸鍎垮瓙銆?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浜屽弶鏍戠殑鏁扮粍瀹炵幇涔熷緢綆鍗曪紝鍋囧璇存牴鑺傜偣鍦╝rr[0]榪欎釜浣嶇疆錛岄偅涔堝畠鐨勫乏鍎垮瓙灝卞湪arr[2*0+1]錛屼篃灝辨槸arr[1]榪欎釜浣嶇疆錛屽畠鐨勫彸鍎垮瓙鍦╝rr[2*0+2] 錛屼篃灝辨槸arr[2]榪欎釜浣嶇疆銆傚浜庝笅鏍囦負i鐨勮妭鐐規潵璇達紝瀹冪殑宸﹀効瀛愮殑涓嬫爣涓?*i+1錛屽彸鍎垮瓙鐨勪笅鏍囦負2*i+2銆?/span></p> <p style="text-indent:21.0pt;"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">浜屽弶鏍戠殑閬嶅巻</span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浜屽弶鏍戠殑閬嶅巻鏈変笁縐嶏紝鍒嗗埆涓哄厛搴忛亶鍘嗭紝涓簭閬嶅巻鍜屽悗搴忛亶鍘嗐傝繖涓夌閬嶅巻鏂瑰紡鏄牴鎹牴鑺傜偣鐨勮鍙栭『搴忔潵鍒嗙殑錛?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍏堝簭閬嶅巻錛屽氨鏄渶鍏堣鍙栨牴鑺傜偣錛岀劧鍚庡啀璇誨彇宸﹀瓙鏍戯紙鎸夌収鍚屾牱鐨勬柟娉曡鍙栧瓙鏍戜笂鐨勮妭鐐癸級錛屾渶鍚庤鍙栧彸瀛愭爲錛?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">涓簭閬嶅巻錛屽氨鏄浜屼釜璇誨彇鏍硅妭鐐癸紝鏈鍏堣璇誨彇鐨勬槸宸﹀瓙鏍戯紝鐒跺悗鏍硅妭鐐癸紝鏈鍚庡彸瀛愭爲錛?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍚庡簭閬嶅巻錛屽氨鏄渶鍚庝竴涓鍙栨牴鑺傜偣錛屾渶鍏堣鍙栫殑鏄乏瀛愭爲錛岀浜屼釜璇誨彇鍙沖瓙鏍戯紝鏈鍚庤鍙栨牴鑺傜偣銆?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍏堝簭閬嶅巻鐨勯掑綊瀹炵幇浠g爜錛?/span></p> <p><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span> insubtree錛?span style="color: #0000FF; ">struct</span> treenode* tree錛?br />{<br />       If(tree==NULL) <span style="color: #0000FF; ">return</span>;<br />       cout<<tree->data;<br />    insubtree(tree->lson);<br />insubtree(tree->rson);<br />}</div></p> <p style="text-indent:21.0pt;"> </p><img src ="http://www.shnenglu.com/cxiaojia/aggbug/186432.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cxiaojia/" target="_blank">C灝忓姞</a> 2012-08-06 11:26 <a href="http://www.shnenglu.com/cxiaojia/archive/2012/08/06/186432.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍩烘湰鏁版嵁緇撴瀯錛氭爲錛坱ree錛?/title><link>http://www.shnenglu.com/cxiaojia/archive/2012/08/03/186123.html</link><dc:creator>C灝忓姞</dc:creator><author>C灝忓姞</author><pubDate>Fri, 03 Aug 2012 01:18:00 GMT</pubDate><guid>http://www.shnenglu.com/cxiaojia/archive/2012/08/03/186123.html</guid><wfw:comment>http://www.shnenglu.com/cxiaojia/comments/186123.html</wfw:comment><comments>http://www.shnenglu.com/cxiaojia/archive/2012/08/03/186123.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/cxiaojia/comments/commentRss/186123.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cxiaojia/services/trackbacks/186123.html</trackback:ping><description><![CDATA[<p align="center" style="text-align:center"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍩烘湰鏁版嵁緇撴瀯錛氭爲錛坱ree錛?/span></strong></p> <p align="center" style="text-align:center"><span style="font-family:"寰蔣闆呴粦","sans-serif";color:red">浣滆咃細</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">C</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">灝忓姞 <span style="color:red">鏇存柊鏃墮棿錛?/span>2012-8-3</span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鏃犺鏄摼琛紝鏍堣繕鏄槦鍒楋紝瀹冧滑閮芥槸綰挎х粨鏋勭殑錛屾瘡涓妭鐐圭殑宸﹁竟鏈澶氫竴涓妭鐐癸紝鍙寵竟涔熸渶澶氫竴涓妭鐐癸紝瀵逛簬澶ч噺鐨勮緭鍏ユ暟鎹紝綰挎ц〃鐨勮闂椂闂村お鎱紝涓嶅疁浣跨敤銆傝繖閲屾垜瑕佽涓縐嶉潪綰挎х殑鏁版嵁緇撴瀯錛屽叾澶ч儴鍒嗘搷浣滅殑榪愯鏃墮棿騫沖潎涓篛(logn)銆?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鎴戜滑娑夊強鍒扮殑榪欑鏁版嵁緇撴瀯鍙仛鏍戙傚湪璁$畻鏈虹瀛︿腑錛屾爲鏄潪甯告湁鐢ㄧ殑鎶借薄姒傚康銆傛垜浠艦璞$殑鍘繪弿榪頒竴媯墊爲錛屼竴涓鏃忕殑鑰佺鍙兘鏈変袱涓効瀛愶紝榪欎袱涓効瀛愪竴涓湁涓涓効瀛愶紝涓涓湁涓変釜鍎垮瓙錛屽儚榪欐牱鍙戝睍涓嬪幓鐨勪竴涓棌璋憋紝灝辨槸涓涓爲錛屽鍥?鎵紺恒?/span></p> <p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/tree_1.png" border="0" alt="" width="889" height="378" /><br /><br /></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">灝卞儚涓媯電湡姝g殑鏍戜竴鏍鳳紝鎴戜滑鎶婅佺縐頒負鏍戞牴,涓や釜瀛楀効鏄垎鍙夊紑鐨勪袱涓爲鏋濓紝榪欎袱媯墊爲鏋濆彲浠ョ戶緇悜涓嬪垎鎴怤涓爲鏋濓紝寰幆涓嬪幓錛屼竴鐩村埌闀垮嚭鍙跺瓙涓烘銆?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鎴戜滑鎶婅佺鎴栬呮爲鏍圭О涓烘牴錛坮oot錛夎妭鐐癸紝鑰佺鐨勫効瀛愮О涓哄瓙鑺傜偣錛屾瘡涓効瀛愪綔涓烘牴鑺傜偣鍙堝彲浠ュ艦鎴愪竴媯墊爲錛屾垜浠妸榪欐牱鐨勬爲縐頒負鏍硅妭鐐圭殑瀛愭爲銆?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鏍戠殑鏍囧噯瀹氫箟錛?/span></p> <p align="left" style="text-indent: 21pt; "><span style="font-family: "寰蔣闆呴粦","sans-serif"">鏍戯紙tree錛夋槸鍖呭惈n錛坣>0錛変釜鑺傜偣鐨勬湁絀烽泦鍚堬紝鍏朵腑錛?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">銆銆錛?錛夋瘡涓厓绱犵О涓鴻妭鐐癸紙node錛夛紱</span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">銆銆錛?錛夋湁涓涓壒瀹氱殑鑺傜偣琚О涓烘牴鑺傜偣鎴栨爲鏍癸紙root錛夈?/span></p> <p align="left" style="text-indent: 21pt; "><span style="font-family: "寰蔣闆呴粦","sans-serif"">錛?錛夐櫎鏍硅妭鐐逛箣澶栫殑鍏朵綑鏁版嵁鍏冪礌琚垎涓簃錛坢≥0錛変釜浜掍笉鐩鎬氦鐨勭粨鍚圱1錛孴2錛?#8230;…Tm-1錛屽叾涓瘡涓涓泦鍚圱i錛?<=i<=m錛夋湰韜篃鏄竴媯墊爲錛岃縐頒綔鍘熸爲鐨勫瓙鏍戯紙subtree錛夈?/span></p> <p align="left" style="text-indent: 26.25pt; "><span style="font-family: "寰蔣闆呴粦","sans-serif"">鏍戝叿鏈変互涓嬬壒鐐癸細</span></p> <p align="left" style="margin-left: 57pt; text-indent: -36pt; "><span style="font-family:"寰蔣闆呴粦","sans-serif";">錛?錛?span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">    </span></span><span style="font-family:"寰蔣闆呴粦","sans-serif"">姣忎釜鑺傜偣鏈夐浂涓垨澶氫釜瀛愯妭鐐廣?/span></p> <p align="left" style="margin-left: 57pt; text-indent: -36pt; "><span style="font-family:"寰蔣闆呴粦","sans-serif";">錛?錛?span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">    </span></span><span style="font-family:"寰蔣闆呴粦","sans-serif"">姣忎釜瀛愯妭鐐瑰彧鏈変竴涓埗鑺傜偣銆?/span></p> <p align="left" style="margin-left: 57pt; text-indent: -36pt; "><span style="font-family:"寰蔣闆呴粦","sans-serif";">錛?錛?span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">    </span></span><span style="font-family:"寰蔣闆呴粦","sans-serif"">娌℃湁鐖惰妭鐐圭殑鑺傜偣縐頒負鏍硅妭鐐廣?/span></p> <p align="left"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍏充簬鏍戠殑涓浜涙湳璇?/span></strong></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        鑺傜偣鐨勫害錛氫竴涓妭鐐瑰惈鏈夌殑瀛愭爲鐨勪釜鏁扮О涓鴻鑺傜偣鐨勫害錛?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        鍙惰妭鐐規垨緇堢鑺傜偣錛氬害涓洪浂鐨勮妭鐐圭О涓哄彾鑺傜偣錛?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        闈炵粓绔妭鐐規垨鍒嗘敮鑺傜偣錛氬害涓嶄負闆剁殑鑺傜偣錛?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        鍙屼翰鑺傜偣鎴栫埗鑺傜偣錛氳嫢涓涓粨鐐瑰惈鏈夊瓙鑺傜偣錛屽垯榪欎釜鑺傜偣縐頒負鍏跺瓙鑺傜偣鐨勭埗鑺傜偣錛?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        瀛╁瓙鑺傜偣鎴栧瓙鑺傜偣錛氫竴涓妭鐐瑰惈鏈夌殑瀛愭爲鐨勬牴鑺傜偣縐頒負璇ヨ妭鐐圭殑瀛愯妭鐐癸紱</span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        鍏勫紵鑺傜偣錛氬叿鏈夌浉鍚岀埗鑺傜偣鐨勮妭鐐逛簰縐頒負鍏勫紵鑺傜偣錛?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        鏍戠殑楂樺害鎴栨繁搴︼細瀹氫箟涓媯墊爲鐨勬牴緇撶偣灞傛涓?錛屽叾浠栬妭鐐圭殑灞傛鏄叾鐖剁粨鐐瑰眰嬈″姞1銆備竴媯墊爲涓墍鏈夌粨鐐圭殑灞傛鐨勬渶澶у肩О涓鴻繖媯墊爲鐨勬繁搴︺傝妭鐐圭殑灞傛錛氫粠鏍瑰紑濮嬪畾涔夎搗錛屾牴涓虹1灞傦紝鏍圭殑瀛愮粨鐐逛負絎?灞傦紝浠ユ綾繪帹錛?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        鏍戠殑搴︼細涓媯墊爲涓紝鏈澶х殑鑺傜偣鐨勫害縐頒負鏍戠殑搴︼紱</span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        鑺傜偣鐨勭鍏堬細浠庢牴鍒拌鑺傜偣鎵緇忓垎鏀笂鐨勬墍鏈夎妭鐐癸紱</span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        瀛愬瓩錛氫互鏌愯妭鐐逛負鏍圭殑瀛愭爲涓換涓鑺傜偣閮界О涓鴻鑺傜偣鐨勫瓙瀛欍?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">        媯灄錛氱敱m錛坢>=0錛夋5浜掍笉鐩鎬氦鐨勬爲鐨勯泦鍚堢О涓烘.鏋楋紱</span></p> <p align="left"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">鏍戠殑瀹炵幇</span></strong></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鑺傜偣鐨勪唬鐮佸涓?</span></p> <p align="left"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">struct</span> treenode<br />{<br />       <span style="color: #0000FF; ">int</span> data;<br />       <span style="color: #0000FF; ">struct</span> treenode *fistchild;<span style="color: #008000; ">//</span><span style="color: #008000; ">絎竴涓効瀛?/span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">struct</span> treenode *nextsibling;<span style="color: #008000; ">//</span><span style="color: #008000; ">涓嬩竴涓厔寮?/span><span style="color: #008000; "><br /></span>}</div></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif""><strong>鏍戠殑搴旂敤</strong></span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">       澶ч儴鍒嗘搷浣滅郴緇熺殑鐩綍緇撴瀯灝辨槸閲囩敤鏍戠粨鏋勩?/span></p> <p align="left"><span style="font-family:"寰蔣闆呴粦","sans-serif"">       鏍戠殑縐嶇被鏈夊緢澶氾紝鏍戞墍鎵╁睍鍑烘潵鐨勫緢澶氭暟鎹粨鏋勯兘鏈夌潃寰堝ぇ鐨勪綔鐢紝姣斿璇寸孩榛戞爲錛孊鏍戯紝鍚庣紑鏍戠瓑絳夛紝榪欏皢鍦ㄦ棩鍚庡啓鍒般?/span></p><img src ="http://www.shnenglu.com/cxiaojia/aggbug/186123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cxiaojia/" target="_blank">C灝忓姞</a> 2012-08-03 09:18 <a href="http://www.shnenglu.com/cxiaojia/archive/2012/08/03/186123.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍩烘湰鏁版嵁緇撴瀯錛氶槦鍒楋紙queue錛?/title><link>http://www.shnenglu.com/cxiaojia/archive/2012/08/02/186033.html</link><dc:creator>C灝忓姞</dc:creator><author>C灝忓姞</author><pubDate>Thu, 02 Aug 2012 07:00:00 GMT</pubDate><guid>http://www.shnenglu.com/cxiaojia/archive/2012/08/02/186033.html</guid><wfw:comment>http://www.shnenglu.com/cxiaojia/comments/186033.html</wfw:comment><comments>http://www.shnenglu.com/cxiaojia/archive/2012/08/02/186033.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/cxiaojia/comments/commentRss/186033.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cxiaojia/services/trackbacks/186033.html</trackback:ping><description><![CDATA[<p align="center" style="text-align:center"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍩烘湰鏁版嵁緇撴瀯錛氶槦鍒楋紙queue錛?/span></strong></p> <p align="center" style="text-align:center"><span style="font-family:"寰蔣闆呴粦","sans-serif";color:red">浣滆咃細</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">C</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">灝忓姞 <span style="color:red">鏇存柊鏃墮棿錛?/span>2012-8-2</span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍍忔爤涓鏍鳳紝闃熷垪錛坬ueue錛変篃鏄竴縐嶇嚎鎬ц〃錛屽畠鐨勭壒鎬ф槸鍏堣繘鍏堝嚭錛屾彃鍏ュ湪涓绔紝鍒犻櫎鍦ㄥ彟涓绔傚氨鍍忔帓闃熶竴鏍鳳紝鍒氭潵鐨勪漢鍏ラ槦錛坧ush錛夎鎺掑湪闃熷熬(rear)錛屾瘡嬈″嚭闃?pop)鐨勯兘鏄槦棣?front)鐨勪漢銆傚鍥?錛屾弿榪頒簡涓涓槦鍒楁ā鍨嬨?/span></p> <p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/queue1.png" border="0" alt="" width="806" height="269" /><br /></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍜屾爤涓鏍鳳紝闃熷垪涔熸湁鏁扮粍瀹炵幇鍜岄摼琛ㄥ疄鐜頒袱縐嶏紝涓ょ瀹炵幇閮借兘緇欏嚭蹇熺殑O(1)榪愯鏃墮棿錛屽尯鍒湪浜庨摼琛ㄥ疄鐜版寚閽堝煙瑕佸崰鐢ㄧ┖闂達紝棰戠箒鐨刵ew鍜宒elete浼氭秷鑰椾笉灝戠殑鏃墮棿寮閿錛屾暟緇勫疄鐜板敮涓鐨勭己鐐規槸寤虹珛鏃惰紜畾絀洪棿澶у皬銆?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍋囧涓涓槦鍒楁渶澶氬彧鑳界珯10涓漢錛屽綋鍗犳弧10涓漢鍚庯紝絎?1涓漢灝變笉鑳藉叆闃燂紝榪欑鎯呭喌鎴愪負婧㈠嚭銆傝屽鏋滅涓涓漢鍑洪槦浜嗭紝鍓╀笅鐨?涓漢渚濈劧榪樺湪鍘熸潵鐨勪綅緗紝闃熷垪閲岀┖鍑轟簡涓涓綅緗紝浣嗙11涓漢榪樻槸涓嶈兘鍏ラ槦錛岃繖縐嶆儏鍐墊垚涓哄亣婧㈠嚭銆傚厠鏈嶅亣婧㈠嚭鏈夋晥鐨勫姙娉曟槸浣跨敤寰幆闃熷垪銆?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">寰幆闃熷垪灝辨槸鎶婇槦灝懼拰闃熼榪炴帴璧鋒潵錛屽艦鎴愪竴涓幆錛岄槦灝劇殑涓嬩竴涓綅緗氨鏄槦棣栵紝榪欐牱鍙互鏈夋晥鐨勯槻姝㈠亣婧㈠嚭鐜拌薄錛屼絾闃熷垪鐨勫疄闄呭閲忓凡鐒跺浐瀹氥?/span></p> <p style="text-indent:21.0pt;"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">闃熷垪鐨勫疄鐜?/span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">闃熷垪鐨勬暟緇勫疄鐜板拰鏍堝樊涓嶅錛屼笉鍚岀殑鏄紝鏍堢敤top鍋氫笅鏍囷紝闃熷垪鐢╢ront鍜宺ear浣滀負涓嬫爣銆?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鎴戞洿鏀逛簡鍗曢摼琛ㄧ殑妯℃澘鏉ュ疄鐜頒竴涓畝鍗曠殑闃熷垪銆備唬鐮佷粎渚涘涔狅紝涓嶈凍涔嬪榪樿鎸囨槑錛屾垜浼氬涓嶈凍涔嬪榪涜淇敼鍜屾洿鏂般?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?br /></span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">class</span> queueNode<br />{<br />    <span style="color: #0000FF; ">public</span>:<br />    queueNode():next(NULL){}<br />    T data;<span style="color: #008000; ">//</span><span style="color: #008000; ">鍊?/span><span style="color: #008000; "><br /></span>    queueNode* next;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎸囧悜涓嬩竴涓妭鐐圭殑鎸囬拡</span><span style="color: #008000; "><br /></span>};<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">class</span> myqueue<br />{<br />    <span style="color: #0000FF; ">private</span>:<br />    unsigned <span style="color: #0000FF; ">int</span> queuelength;<br />    queueNode<T>* node;<span style="color: #008000; ">//</span><span style="color: #008000; ">涓存椂鑺傜偣</span><span style="color: #008000; "><br /></span>    queueNode<T>* rear;<span style="color: #008000; ">//</span><span style="color: #008000; ">闃熷熬</span><span style="color: #008000; "><br /></span>    queueNode<T>* front;<span style="color: #008000; ">//</span><span style="color: #008000; ">闃熼</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">public</span>:<br />        myqueue();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒濆鍖?/span><span style="color: #008000; "><br /></span>        unsigned <span style="color: #0000FF; ">int</span> length();<span style="color: #008000; ">//</span><span style="color: #008000; ">闃熷垪鍏冪礌鐨勪釜鏁?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> push(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍏ラ槦</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">bool</span> isEmpty();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒ゆ柇闃熷垪鏄惁涓虹┖</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> pop();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍑洪槦</span><span style="color: #008000; "><br /></span>        T getHead();<span style="color: #008000; ">//</span><span style="color: #008000; ">鑾峰緱闃熼鍏冪礌</span><span style="color: #008000; "><br /></span> <br />};<br />template<<span style="color: #0000FF; ">class</span> T><br />myqueue<T>::myqueue()<br />{<br />    node=NULL;<br />    rear=NULL;<br />    front=NULL;<br />    queuelength=0;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br />inline unsigned <span style="color: #0000FF; ">int</span> myqueue<T>::length(){<span style="color: #0000FF; ">return</span> queuelength;}<br /> <br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  myqueue<T>::push(T x)<br />{<br />    node=<span style="color: #0000FF; ">new</span> queueNode<T>();<span style="color: #008000; ">//</span><span style="color: #008000; ">鐢寵涓涓柊鐨勮妭鐐?/span><span style="color: #008000; "><br /></span>    node->data=x;<span style="color: #008000; ">//</span><span style="color: #008000; ">鏂拌妭鐐硅祴鍊間負x</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">if</span>(rear==NULL)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉娌℃湁灝捐妭鐐瑰垯闃熷垪涓虹┖,node鏃負闃熼,鍙堟槸闃熷熬</span><span style="color: #008000; "><br /></span>    {<br />        front=node;<br />        rear=node;<br />    }<br />    <span style="color: #0000FF; ">else</span><span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉闃熷垪闈炵┖</span><span style="color: #008000; "><br /></span>    {<br />        rear->next=node;<span style="color: #008000; ">//</span><span style="color: #008000; ">node鏃負灝捐妭鐐圭殑涓嬩竴涓妭鐐?/span><span style="color: #008000; "><br /></span>        rear=node;<span style="color: #008000; ">//</span><span style="color: #008000; ">node鍙樻垚浜嗗熬鑺傜偣,鎶婂熬鑺傜偣璧嬪間負node</span><span style="color: #008000; "><br /></span>    }<br />    ++queuelength;<span style="color: #008000; ">//</span><span style="color: #008000; ">鍏冪礌涓暟+1</span><span style="color: #008000; "><br /></span>}<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">bool</span>  myqueue<T>::isEmpty()<br />{<br />    <span style="color: #0000FF; ">return</span> queuelength==0;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  myqueue<T>::pop()<br />{<br />    <span style="color: #0000FF; ">if</span>(queuelength==0) <span style="color: #0000FF; ">return</span>;<br />    node=front;<br />    front=front->next;<br />    delete(node);<br />    --queuelength;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br />T  myqueue<T>::getHead()<br />{<br />    <span style="color: #0000FF; ">return</span> front->data;<br />}</div><p> </p> <p style="text-indent:21.0pt;"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">闃熷垪鐨勫簲鐢?br /></span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鎵撳嵃鏈哄鐞嗕綔涓氶噰鐢ㄧ殑灝辨槸闃熷垪緇撴瀯錛屽畠浠細鎸夌収鎻愪氦鐨勯『搴忔帓鍒楄搗鏉ャ係TL涔熺粰鍑轟簡涓涓己澶х殑闃熷垪錛屾垜浠洿鎺ュ彲浠ュ幓鐢ㄥ畠銆?/span></p> <p style="text-indent:21.0pt;"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">闃熷垪鐩稿叧闂</span></strong></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">濡備綍鐢ㄤ袱涓爤妯℃嫙涓涓槦鍒楋紝濡傛灉鐢ㄤ袱涓槦鍒楁ā鎷熶竴涓爤錛?/span></p><img src ="http://www.shnenglu.com/cxiaojia/aggbug/186033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cxiaojia/" target="_blank">C灝忓姞</a> 2012-08-02 15:00 <a href="http://www.shnenglu.com/cxiaojia/archive/2012/08/02/186033.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍩烘湰鏁版嵁緇撴瀯錛氭爤錛坰tack錛?/title><link>http://www.shnenglu.com/cxiaojia/archive/2012/08/01/185913.html</link><dc:creator>C灝忓姞</dc:creator><author>C灝忓姞</author><pubDate>Wed, 01 Aug 2012 08:51:00 GMT</pubDate><guid>http://www.shnenglu.com/cxiaojia/archive/2012/08/01/185913.html</guid><wfw:comment>http://www.shnenglu.com/cxiaojia/comments/185913.html</wfw:comment><comments>http://www.shnenglu.com/cxiaojia/archive/2012/08/01/185913.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/cxiaojia/comments/commentRss/185913.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cxiaojia/services/trackbacks/185913.html</trackback:ping><description><![CDATA[<p align="center" style="text-align:center"><strong><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍩烘湰鏁版嵁緇撴瀯錛氭爤錛坰tack錛?/span></strong></p> <p align="center" style="text-align:center"><span style="font-family:"寰蔣闆呴粦","sans-serif";color:red">浣滆咃細</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">C</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">灝忓姞 <span style="color:red">鏇存柊鏃墮棿錛?/span>2012-8-1</span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鏍堬紙stack錛夋槸闄愬埗鎻掑叆鍜屽垹闄ゅ彧鑳藉湪涓涓綅緗笂榪涜鐨勭嚎鎬ц〃錛岃浣嶇疆鍦ㄨ〃鐨勬湯绔紝鍙仛鏍堥《銆傛坊鍔犲厓绱犲彧鑳藉湪灝捐妭鐐瑰悗娣誨姞錛屽垹闄ゅ厓绱犲彧鑳藉垹闄ゅ熬鑺傜偣錛屾煡鐪嬭妭鐐逛篃鍙兘鏌ョ湅灝捐妭鐐廣傛坊鍔犮佸垹闄ゃ佹煡鐪嬩緷嬈′負鍏ユ爤錛坧ush錛夈佸嚭鏍堬紙pop錛夈佹爤欏惰妭鐐癸紙top錛夈傚艦璞$殑璇達紝鏍堟槸涓涓厛榪涘悗鍑猴紙LIFO錛夎〃錛屽厛榪涘幓鐨勮妭鐐硅絳夊埌鍚庤竟榪涘幓鐨勮妭鐐瑰嚭鏉ユ墠鑳藉嚭鏉ャ?/span></p> <p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/stack_1.png" width="921" height="314" alt="" /><br /></p> <p><span style="font-family:"寰蔣闆呴粦","sans-serif"">濡傚浘1錛屾槸涓涓爤鐨勫艦璞″浘錛宼op鎸囬拡鎸囧悜鐨勬槸鏍堥《鑺傜偣錛屾墍浠ユ垜浠彲浠ラ氳繃top璁塊棶鍒?鑺傜偣錛屼絾鏄?鍜?鑺傜偣鐢變簬鍏堜簬2榪涘叆榪欎釜琛紝鎵浠ユ槸涓嶅彲瑙佺殑銆傚鏋滄妸0鑺傜偣褰撳仛澶磋妭鐐癸紝2鑺傜偣褰撳仛灝捐妭鐐癸紝閭d箞鏍堥檺鍒朵簡璁塊棶鏉冮檺錛屽彧鍙互璁塊棶灝捐妭鐐廣?/span></p> <p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/stack_2.png" width="922" height="298" alt="" /><br /></p> <p><span style="font-family:"寰蔣闆呴粦","sans-serif"">濡傚浘2錛屽綋娣誨姞涓涓妭鐐?鐨勬椂鍊欙紝鍙兘鍦ㄦ爤欏惰妭鐐癸紝涔熷氨鏄熬鑺傜偣鍚庢坊鍔狅紝榪欐牱3鑺傜偣鍙樻垚浜嗘爤欏訛紝2鑺傜偣鍙樻垚浜嗕笉鍙鑺傜偣錛岃闂殑鏃跺欏彧鑳借闂埌3鑺傜偣銆傚叆鏍堟椂闄愬埗浜嗘彃鍏ュ湴鍧錛屽彧鑳藉湪鏍堥《娣誨姞鑺傜偣銆?/span></p> <p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/stack_3.png" width="922" height="305" alt="" /><br /></p> <p><span style="font-family:"寰蔣闆呴粦","sans-serif"">褰撴垜浠墽琛屽嚭鏍堢殑鍛戒護鏃訛紝鍥?鐨勬爤欏跺厓绱犳槸3鑺傜偣錛屽垹闄ょ殑鏃跺欏彧鑳藉厑璁稿垹闄ゆ爤欏剁殑鍏冪礌錛岃繖鏍峰瓙3鑺傜偣琚垹闄わ紝top鎸囧悜鍒犻櫎鍚庣殑鏍堥《2鑺傜偣錛屽鍥?鎵紺恒?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鏍堟湁涓ょ鏄疄鐜扮粨鏋勶紝涓縐嶆槸欏哄簭瀛樺偍緇撴瀯錛屼篃灝辨槸鍒╃敤鏁扮粍瀹炵幇錛屼竴縐嶆槸閾懼紡瀛樺偍緇撴瀯錛屽彲浠ョ敤鍗曢摼琛ㄥ疄鐜般傛暟緇勫疄鐜版爤寰堢畝鍗曪紝鐢ㄤ竴涓笅鏍囨爣璁皌op鏉ヨ〃紺烘爤欏訛紝top==-1鏃訛紝鏍堢┖錛宼op==0鏃訛紝琛ㄧず鏍堥噷鍙湁涓涓厓绱狅紝閫氳繃璁塊棶top涓轟笅鏍囩殑鏁扮粍鍏冪礌鍗沖彲銆傚嚭鏍坱op鑷噺錛屽叆鏍坱op鑷姞灝監K浜嗐?/span></p> <p style="text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍗曢摼琛ㄥ疄鐜版爤瑕佹瘮鍗曢摼琛ㄧ殑瀹炵幇綆鍗曠偣銆傛垜浠氳繃鍦ㄨ〃鐨勫熬绔彃鍏ユ潵瀹炵幇push錛岄氳繃鍒犻櫎灝捐妭鐐規潵瀹炵幇pop錛岃幏鍙栧熬鑺傜偣鐨勫厓绱犳潵琛ㄧずtop銆傛垜淇敼浜嗛摼琛ㄩ偅涓绔犵殑鍗曢摼琛ㄤ唬鐮侊紝鎶婂ご鑺傜偣褰撳仛鏍堥《鑺傜偣錛屽疄鐜頒簡涓涓畝鍗曠殑鏍堟ā鏉匡紝浠呬緵瀛︿範鎵鐢ㄣ備唬鐮佷細涓嶅畾鏃舵洿鏂般?a href="/Files/cxiaojia/stack.rar">浠g爜涓嬭澆</a></span></p> <p style="text-indent:21.0pt;"><span style="font-family: 寰蔣闆呴粦, sans-serif; ">浠g爜濡備笅錛?br /></span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">class</span> stackNode<br />{<br />    <span style="color: #0000FF; ">public</span>:<br />    stackNode():next(NULL){}<br />    T data;<span style="color: #008000; ">//</span><span style="color: #008000; ">鍊?/span><span style="color: #008000; "><br /></span>    stackNode* next;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎸囧悜涓嬩竴涓妭鐐圭殑鎸囬拡</span><span style="color: #008000; "><br /></span>};<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">class</span> mystack<br />{<br />    <span style="color: #0000FF; ">private</span>:<br />    unsigned <span style="color: #0000FF; ">int</span> stacklength;<br />    stackNode<T>* node;<span style="color: #008000; ">//</span><span style="color: #008000; ">涓存椂鑺傜偣</span><span style="color: #008000; "><br /></span>    stackNode<T>* headnode;<span style="color: #008000; ">//</span><span style="color: #008000; ">灝劇粨鐐?/span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">public</span>:<br />        mystack();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒濆鍖?/span><span style="color: #008000; "><br /></span>        unsigned <span style="color: #0000FF; ">int</span> length();<span style="color: #008000; ">//</span><span style="color: #008000; ">鏍堝厓绱犵殑涓暟</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> push(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍏ユ爤</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">bool</span> isEmpty();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒ゆ柇鏍堟槸鍚︿負絀?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> pop();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍑烘爤</span><span style="color: #008000; "><br /></span>        T top();<span style="color: #008000; ">//</span><span style="color: #008000; ">鑾峰緱鏍堥《鍏冪礌</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> clear();<span style="color: #008000; ">//</span><span style="color: #008000; ">娓呯┖鏍?/span><span style="color: #008000; "><br /></span><br />};<br />template<<span style="color: #0000FF; ">class</span> T><br />mystack<T>::mystack()<br />{<br />    node=NULL;<br />    headnode=NULL;<br />    stacklength=0;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br />inline unsigned <span style="color: #0000FF; ">int</span> mystack<T>::length(){<span style="color: #0000FF; ">return</span> stacklength;}<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  mystack<T>::push(T x)<br />{<br />    node=<span style="color: #0000FF; ">new</span> stackNode<T>();<br />    node->data=x;<br />    node->next=headnode;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎶妌ode鍙樻垚澶磋妭鐐?/span><span style="color: #008000; "><br /></span>    headnode=node;<br />    ++stacklength;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">bool</span>  mystack<T>::isEmpty()<br />{<br />    <span style="color: #0000FF; ">return</span> stacklength==0;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  mystack<T>::pop()<br />{<br />    <span style="color: #0000FF; ">if</span>(isEmpty()) <span style="color: #0000FF; ">return</span>;<br />    node=headnode;<br />    headnode=headnode->next;<span style="color: #008000; ">//</span><span style="color: #008000; ">澶磋妭鐐瑰彉鎴愬畠鐨勪笅涓涓妭鐐?/span><span style="color: #008000; "><br /></span>    delete(node);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎澶磋妭鐐?/span><span style="color: #008000; "><br /></span>    --stacklength;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br />T  mystack<T>::top()<br />{<br />    <span style="color: #0000FF; ">if</span>(!isEmpty())<br />    <span style="color: #0000FF; ">return</span> headnode->data;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  mystack<T>::clear()<br />{<br />    <span style="color: #0000FF; ">while</span>(headnode!=NULL)<br />    {<br />        node=headnode;<br />        headnode=headnode->next;<br />        delete(node);<br />    }<br />    node=NULL;<br />    headnode=NULL;<br />    stacklength=0;<br />}</div><p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:"寰蔣闆呴粦","sans-serif"">寰堟竻妤氾紝闄や簡<span lang="EN-US">clear</span>鍑芥暟澶栵紝鎵鏈夌殑鏂規硶鐨勬椂闂村鏉傚害閮芥槸<span lang="EN-US">O(1)</span>銆傝繖縐嶅疄鐜版柟寮忕殑緙虹偣鍦ㄤ簬瀵?span lang="EN-US">new</span>鍜?span lang="EN-US">delete</span>鐨勮皟鐢ㄧ殑寮閿鏄槀璐電殑錛屾墍浠ラ噰鐢ㄦ暟緇勭殑鏂瑰紡瀹炵幇浼氭洿濂戒竴鐐廣?br /><span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:"寰蔣闆呴粦","sans-serif""><strong>鏍堢殑搴旂敤</strong><span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浣跨敤鏍堢殑鏃跺欎竴鑸笉鐢ㄨ嚜宸遍噸鏂板幓鍐欙紝鍥犱負<span lang="EN-US">STL</span>緇欐垜浠疄鐜頒簡涓涓緢瀹夊叏鐨勬爤錛屽彲浠ユ斁蹇冨幓浣跨敤銆?/span><span style="font-size:10.5pt;mso-bidi-font-size:11.0pt; font-family:"寰蔣闆呴粦","sans-serif";mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language: ZH-CN;mso-bidi-language:AR-SA">涔熷彲浠ョ敤鏁扮粍妯℃嫙涓涓紝寰堢畝鍗曘?/span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:"寰蔣闆呴粦","sans-serif"">緙栬瘧鍣ㄨ皟鐢ㄥ嚱鏁板氨鐢ㄤ簡鏍堢粨鏋勶紝褰撶涓涓嚱鏁拌繕娌℃墽琛屽畬姣曪紝璋冪敤絎簩涓嚱鏁扮殑鏃跺欙紝緙栬瘧鍣ㄥ氨浼氭妸絎竴涓嚱鏁板帇鏍堬紝絎簩涓嚱鏁拌皟鐢ㄥ畬姣曠殑鏃跺欙紝灝變細鍙栨爤欏跺嚱鏁幫紝涔熷氨鏄涓涓嚱鏁扮戶緇墽琛屻?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:"寰蔣闆呴粦","sans-serif"">騫寵 絎﹀彿 <span lang="EN-US"><a >http://acm.nyist.net/JudgeOnline/problem.php?pid=2</a><o:p></o:p></span></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:"寰蔣闆呴粦","sans-serif"">涓紑杞悗緙 <span lang="EN-US"><a >http://acm.nyist.net/JudgeOnline/problem.php?pid=467</a><o:p></o:p></span></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍚庣紑璇曟眰鍊?<span lang="EN-US"><a >http://acm.nyist.net/JudgeOnline/problem.php?pid=35</a><o:p></o:p></span></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-family:"寰蔣闆呴粦","sans-serif"">poj 3250 <a >http://acm.pku.edu.cn/JudgeOnline/problem?id=3250</a><o:p></o:p></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-family:"寰蔣闆呴粦","sans-serif"">poj 1363 <a >http://acm.pku.edu.cn/JudgeOnline/problem?id=1363</a><o:p></o:p></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-family:"寰蔣闆呴粦","sans-serif"">poj 1208 <a >http://acm.pku.edu.cn/JudgeOnline/problem?id=1208</a><o:p></o:p></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-family:"寰蔣闆呴粦","sans-serif"">poj 1686 <a >http://acm.pku.edu.cn/JudgeOnline/problem?id=1686</a><o:p></o:p></span></p> <p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span lang="EN-US" style="font-family:"寰蔣闆呴粦","sans-serif"">poj 3250 <a >http://acm.pku.edu.cn/JudgeOnline/problem?id=2045</a><o:p></o:p></span></p> <pre style="text-indent:21.0pt;mso-char-indent-count:2.0;line-height:11.2pt; background:#FCFEFC"><span lang="EN-US" style="font-size:10.5pt;mso-bidi-font-size: 11.0pt;font-family:"寰蔣闆呴粦","sans-serif";mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi">hdu 1022 <a >http://acm.hdu.edu.cn/showproblem.php?pid=1022</a><o:p></o:p></span></pre><span style="font-family: 寰蔣闆呴粦, sans-serif; "><br /><br /><br /></span><p> </p><img src ="http://www.shnenglu.com/cxiaojia/aggbug/185913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cxiaojia/" target="_blank">C灝忓姞</a> 2012-08-01 16:51 <a href="http://www.shnenglu.com/cxiaojia/archive/2012/08/01/185913.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍩烘湰鏁版嵁緇撴瀯錛氶摼琛紙list錛?/title><link>http://www.shnenglu.com/cxiaojia/archive/2012/07/31/185760.html</link><dc:creator>C灝忓姞</dc:creator><author>C灝忓姞</author><pubDate>Tue, 31 Jul 2012 09:41:00 GMT</pubDate><guid>http://www.shnenglu.com/cxiaojia/archive/2012/07/31/185760.html</guid><wfw:comment>http://www.shnenglu.com/cxiaojia/comments/185760.html</wfw:comment><comments>http://www.shnenglu.com/cxiaojia/archive/2012/07/31/185760.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/cxiaojia/comments/commentRss/185760.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cxiaojia/services/trackbacks/185760.html</trackback:ping><description><![CDATA[<p align="center" style="text-align:center"><span style="font-family:"寰蔣闆呴粦","sans-serif""><strong>鍩烘湰鏁版嵁緇撴瀯錛氶摼琛紙list錛?/strong></span></p> <p align="center" style="text-align:center"><span style="font-family:"寰蔣闆呴粦","sans-serif";color:red">浣滆咃細</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">C</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">灝忓姞 <span style="color:red">鏇存柊鏃墮棿錛?/span>2012-7-31</span></p> <p style="text-indent:20.6pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">璋堝埌閾捐〃涔嬪墠錛屽厛璇翠竴涓嬬嚎鎬ц〃銆傜嚎鎬ц〃鏄渶鍩烘湰銆佹渶綆鍗曘佷篃鏄渶甯哥敤鐨勪竴縐?/span><a target="_blank"><span style="font-family:"寰蔣闆呴粦","sans-serif";color:windowtext;text-decoration: none;text-underline:none">鏁版嵁緇撴瀯</span></a><span style="font-family:"寰蔣闆呴粦","sans-serif"">銆傜嚎鎬ц〃涓暟鎹厓绱犱箣闂寸殑鍏崇郴鏄竴瀵逛竴鐨勫叧緋伙紝鍗抽櫎浜嗙涓涓拰鏈鍚庝竴涓暟鎹厓绱犱箣澶栵紝鍏跺畠鏁版嵁鍏冪礌閮芥槸棣栧熬鐩告帴鐨勩傜嚎鎬ц〃鏈変袱縐嶅瓨鍌ㄦ柟寮忥紝涓縐嶆槸欏哄簭瀛樺偍緇撴瀯錛屽彟涓縐嶆槸閾懼紡瀛樺偍緇撴瀯銆?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">欏哄簭瀛樺偍緇撴瀯灝辨槸涓や釜鐩擱偦鐨勫厓绱犲湪鍐呭瓨涓篃鏄浉閭葷殑銆傝繖縐嶅瓨鍌ㄦ柟寮忕殑浼樼偣鏄煡璇㈢殑鏃墮棿澶嶆潅搴︿負O(1)錛岄氳繃棣栧湴鍧鍜屽亸縐婚噺灝卞彲浠ョ洿鎺ヨ闂埌鏌愬厓绱狅紝鍏充簬鏌ユ壘鐨勯傞厤綆楁硶寰堝錛屾渶蹇彲浠ヨ揪鍒癘(logn)銆傜己鐐規槸鎻掑叆鍜屽垹闄ょ殑鏃墮棿澶嶆潅搴︽渶鍧忚兘杈懼埌O(n)錛屽鏋滀綘鍦ㄧ涓涓綅緗彃鍏ヤ竴涓厓绱狅紝浣犻渶瑕佹妸鏁扮粍鐨勬瘡涓涓厓绱犲悜鍚庣Щ鍔ㄤ竴浣嶏紝濡傛灉浣犲湪絎竴涓綅緗垹闄や竴涓厓绱狅紝浣犻渶瑕佹妸鏁扮粍鐨勬瘡涓涓厓绱犲悜鍓嶇Щ鍔ㄤ竴浣嶃傝繕鏈変竴涓己鐐癸紝灝辨槸褰撲綘涓嶇‘瀹氬厓绱犵殑鏁伴噺鏃訛紝浣犲紑鐨勬暟緇勫繀欏諱繚璇佽兘澶熸斁涓嬪厓绱犳渶澶ф暟閲忥紝閬楁喚鐨勬槸濡傛灉瀹為檯鏁伴噺姣旀渶澶ф暟閲忓皯寰堝鏃訛紝浣犲紑鐨勬暟緇勬病鏈夌敤鍒扮殑鍐呭瓨灝卞彧鑳芥氮璐規帀浜嗐?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鎴戜滑甯哥敤鐨勬暟緇勫氨鏄竴縐嶅吀鍨嬬殑欏哄簭瀛樺偍緇撴瀯錛屽鍥?銆?/span></p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/list_1.png" width="650" height="330" alt="" /><br /><p style="text-indent:20.6pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">閾懼紡瀛樺偍緇撴瀯灝辨槸涓や釜鐩擱偦鐨勫厓绱犲湪鍐呭瓨涓彲鑳戒笉鏄浉閭葷殑錛屾瘡涓涓厓绱犻兘鏈変竴涓寚閽堝煙錛屾寚閽堝煙涓鑸槸瀛樺偍鐫鍒頒笅涓涓厓绱犵殑鎸囬拡銆傝繖縐嶅瓨鍌ㄦ柟寮忕殑浼樼偣鏄彃鍏ュ拰鍒犻櫎鐨勬椂闂村鏉傚害涓篛(1)錛屼笉浼氭氮璐瑰お澶氬唴瀛橈紝娣誨姞鍏冪礌鐨勬椂鍊欐墠浼氱敵璇峰唴瀛橈紝鍒犻櫎鍏冪礌浼氶噴鏀懼唴瀛橈紝銆傜己鐐規槸璁塊棶鐨勬椂闂村鏉傚害鏈鍧忎負O(n)錛屽叧浜庢煡鎵劇殑綆楁硶寰堝皯錛屼竴鑸彧鑳介亶鍘嗭紝榪欐牱鏃墮棿澶嶆潅搴︿篃鏄嚎鎬э紙O(n)錛夌殑浜?棰戠箒鐨勭敵璇峰拰閲婃斁鍐呭瓨涔熶細娑堣楁椂闂淬?/span></p> <p style="text-indent:20.6pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">欏哄簭琛ㄧ殑鐗規ф槸闅忔満璇誨彇錛屼篃灝辨槸璁塊棶涓涓厓绱犵殑鏃墮棿澶嶆潅搴︽槸O(1)錛岄摼寮忚〃鐨勭壒鎬ф槸鎻掑叆鍜屽垹闄ょ殑鏃墮棿澶嶆潅搴︿負O(1)銆傝鏍規嵁瀹為檯鎯呭喌鍘婚夊彇閫傚悎鑷繁鐨勫瓨鍌ㄧ粨鏋勩?/span></p> <p style="text-indent:20.6pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">閾捐〃灝辨槸閾懼紡瀛樺偍鐨勭嚎鎬ц〃銆傛牴鎹寚閽堝煙鐨勪笉鍚岋紝閾捐〃鍒嗕負鍗曞悜閾捐〃銆佸弻鍚戦摼琛ㄣ佸驚鐜摼琛ㄧ瓑絳夈?/span></p> <p style="margin-left:43.15pt;text-indent:-22.5pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif";">涓銆?</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍗曞悜閾捐〃錛坰list錛?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">閾捐〃涓渶綆鍗曠殑涓縐嶆槸鍗曞悜閾捐〃錛屾瘡涓厓绱犲寘鍚袱涓煙錛屽煎煙鍜屾寚閽堝煙錛屾垜浠妸榪欐牱鐨勫厓绱犵О涔嬩負鑺傜偣銆傛瘡涓妭鐐圭殑鎸囬拡鍩熷唴鏈変竴涓寚閽堬紝鎸囧悜涓嬩竴涓妭鐐癸紝鑰屾渶鍚庝竴涓妭鐐瑰垯鎸囧悜涓涓┖鍊箋傚鍥?灝辨槸涓涓崟鍚戦摼琛ㄣ?/span></p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/list_2.png" border="0" alt="" width="747" height="271" /><br /><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">涓涓崟鍚戦摼琛ㄧ殑鑺傜偣琚垎鎴愪袱涓儴鍒嗐傜涓涓儴鍒嗕繚瀛樻垨鑰呮樉紺哄叧浜庤妭鐐圭殑淇℃伅錛岀浜屼釜閮ㄥ垎瀛樺偍涓嬩竴涓妭鐐圭殑鍦板潃銆傚崟鍚戦摼琛ㄥ彧鍙悜涓涓柟鍚戦亶鍘嗐?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鎴戝啓浜嗕竴涓畝鍗曠殑C++鐗堝崟鍚戦摼琛ㄧ被妯℃澘錛屽氨鐢ㄨ繖孌典唬鐮佽瑙d竴涓嬩竴涓叿浣撶殑鍗曞悜閾捐〃璇ユ庝箞鍐欙紙浠g爜浠呬緵瀛︿範錛夛紝褰撶劧棣栧厛浣犺鍏峰C++鍩虹鐭ヨ瘑鍜岀畝鍗曠殑妯℃澘鍏冪紪紼嬨?br /><a href="/Files/cxiaojia/slist.zip">瀹屾暣浠g爜</a><br /></span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">棣栧厛鎴戜滑瑕佸啓涓涓妭鐐圭被錛岄摼琛ㄤ腑鐨勬瘡涓涓妭鐐瑰氨鏄竴涓妭鐐圭被鐨勫璞°傚鍥?銆?br /></span></p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/list_3.png" width="771" height="266" alt="" /><br /><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?/span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">class</span> slistNode<br />{<br />    <span style="color: #0000FF; ">public</span>:<br />    slistNode(){next=NULL;}<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒濆鍖?/span><span style="color: #008000; "><br /></span>    T data;<span style="color: #008000; ">//</span><span style="color: #008000; ">鍊?/span><span style="color: #008000; "><br /></span>    slistNode* next;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎸囧悜涓嬩竴涓妭鐐圭殑鎸囬拡</span><span style="color: #008000; "><br /></span>};</div><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">絎簩姝ワ紝鍐欏崟閾捐〃綾葷殑澹版槑錛屽寘鎷睘鎬у拰鏂規硶銆?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?/span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">class</span> myslist<br />{<br />    <span style="color: #0000FF; ">private</span>:<br />    unsigned <span style="color: #0000FF; ">int</span> listlength;<br />    slistNode<T>* node;<span style="color: #008000; ">//</span><span style="color: #008000; ">涓存椂鑺傜偣</span><span style="color: #008000; "><br /></span>    slistNode<T>* lastnode;<span style="color: #008000; ">//</span><span style="color: #008000; ">澶寸粨鐐?/span><span style="color: #008000; "><br /></span>    slistNode<T>* headnode;<span style="color: #008000; ">//</span><span style="color: #008000; ">灝捐妭鐐?/span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">public</span>:<br />        myslist();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒濆鍖?/span><span style="color: #008000; "><br /></span>        unsigned <span style="color: #0000FF; ">int</span> length();<span style="color: #008000; ">//</span><span style="color: #008000; ">閾捐〃鍏冪礌鐨勪釜鏁?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> add(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">琛ㄥ熬娣誨姞鍏冪礌</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> traversal();<span style="color: #008000; ">//</span><span style="color: #008000; ">閬嶅巻鏁翠釜閾捐〃騫舵墦鍗?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">bool</span> isEmpty();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒ゆ柇閾捐〃鏄惁涓虹┖</span><span style="color: #008000; "><br /></span>        slistNode<T>* find(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鏌ユ壘絎竴涓間負x鐨勮妭鐐?榪斿洖鑺傜偣鐨勫湴鍧,鎵句笉鍒拌繑鍥濶ULL</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> Delete(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎絎竴涓間負x鐨勮妭鐐?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> insert(T x,slistNode<T>* p);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍦╬鑺傜偣鍚庢彃鍏ュ間負x鐨勮妭鐐?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">void</span> insertHead(T x);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍦ㄩ摼琛ㄧ殑澶撮儴鎻掑叆鑺傜偣</span><span style="color: #008000; "><br /></span>};</div><br /><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">絎笁姝ワ紝鍐欐瀯閫犲嚱鏁幫紝鍒濆鍖栭摼琛ㄧ被鐨勫睘鎬с?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?/span></p><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> T><br />myslist<T>::myslist()<br />{<br />    node=NULL;<br />    lastnode=NULL;<br />    headnode=NULL;<br />    listlength=0;<br />}</div><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">絎洓姝ワ紝瀹炵幇add()鏂規硶銆?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?/span></p><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  myslist<T>::add(T x)<br />{<br />    node=<span style="color: #0000FF; ">new</span> slistNode<T>();<span style="color: #008000; ">//</span><span style="color: #008000; ">鐢寵涓涓柊鐨勮妭鐐?/span><span style="color: #008000; "><br /></span>    node->data=x;<span style="color: #008000; ">//</span><span style="color: #008000; ">鏂拌妭鐐硅祴鍊間負x</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">if</span>(lastnode==NULL)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉娌℃湁灝捐妭鐐瑰垯閾捐〃涓虹┖,node鏃負澶寸粨鐐?鍙堟槸灝捐妭鐐?/span><span style="color: #008000; "><br /></span>    {<br />        headnode=node;<br />        lastnode=node;<br />    }<br />    <span style="color: #0000FF; ">else</span><span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉閾捐〃闈炵┖</span><span style="color: #008000; "><br /></span>    {<br />        lastnode->next=node;<span style="color: #008000; ">//</span><span style="color: #008000; ">node鏃負灝捐妭鐐圭殑涓嬩竴涓妭鐐?/span><span style="color: #008000; "><br /></span>        lastnode=node;<span style="color: #008000; ">//</span><span style="color: #008000; ">node鍙樻垚浜嗗熬鑺傜偣,鎶婂熬鑺傜偣璧嬪間負node</span><span style="color: #008000; "><br /></span>    }<br />    ++listlength;<span style="color: #008000; ">//</span><span style="color: #008000; ">鍏冪礌涓暟+1</span><span style="color: #008000; "><br /></span>}</div><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">絎簲姝ワ紝瀹炵幇traversal()鍑芥暟錛岄亶鍘嗗茍杈撳嚭鑺傜偣淇℃伅銆?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?br /></span></p><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  myslist<T>::traversal()<br />{<br />    node=headnode;<span style="color: #008000; ">//</span><span style="color: #008000; ">鐢ㄤ復鏃惰妭鐐規寚鍚戝ご緇撶偣</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">while</span>(node!=NULL)<span style="color: #008000; ">//</span><span style="color: #008000; ">閬嶅巻閾捐〃騫惰緭鍑?/span><span style="color: #008000; "><br /></span>    {<br />        cout<<node->data<<ends;<br />        node=node->next;<br />    }<br />    cout<<endl;<br />}</div><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">絎叚姝ワ紝瀹炵幇isEmpty()鍑芥暟錛屽垽鏂摼琛ㄦ槸鍚︿負絀猴紝榪斿洖鐪熶負絀猴紝鍋囧垯涓嶇┖銆?/span></p> <p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?/span></p><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">bool</span>  myslist<T>::isEmpty()<br />{<br />    <span style="color: #0000FF; ">return</span> listlength==0;<br />}</div><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">絎竷姝ワ紝瀹炵幇find()鍑芥暟銆?/span></p> <p style="text-indent: 20.45pt; "><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?br /></span></p><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> T><br />slistNode<T>* myslist<T>::find(T x)<br />{<br />    node=headnode;<span style="color: #008000; ">//</span><span style="color: #008000; ">鐢ㄤ復鏃惰妭鐐規寚鍚戝ご緇撶偣</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">while</span>(node!=NULL&&node->data!=x)<span style="color: #008000; ">//</span><span style="color: #008000; ">閬嶅巻閾捐〃,閬囧埌鍊肩浉鍚岀殑鑺傜偣璺沖嚭</span><span style="color: #008000; "><br /></span>    {<br />        node=node->next;<br />    }<br />    <span style="color: #0000FF; ">return</span> node;<span style="color: #008000; ">//</span><span style="color: #008000; ">榪斿洖鎵懼埌鐨勮妭鐐圭殑鍦板潃,濡傛灉娌℃湁鎵懼埌鍒欒繑鍥濶ULL</span><span style="color: #008000; "><br /></span>}</div><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">絎叓姝ワ紝瀹炵幇delete()鍑芥暟錛屽垹闄ょ涓涓間負x鐨勮妭鐐癸紝濡傚浘4銆?/span></p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/list_4.png" width="771" height="259" alt="" /><br /><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?br /></span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  myslist<T>::Delete(T x)<br />{<br />    slistNode<T>* temp=headnode;<span style="color: #008000; ">//</span><span style="color: #008000; ">鐢寵涓涓復鏃惰妭鐐規寚鍚戝ご鑺傜偣</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">if</span>(temp==NULL) <span style="color: #0000FF; ">return</span>;<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉澶磋妭鐐逛負絀?鍒欒閾捐〃鏃犲厓绱?鐩存帴榪斿洖</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">if</span>(temp->data==x)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉澶磋妭鐐圭殑鍊間負瑕佸垹闄ょ殑鍊?鍒欏垹闄ゆ姇鑺傜偣</span><span style="color: #008000; "><br /></span>    {<br />        headnode=temp->next;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎶婂ご鑺傜偣鎸囧悜澶磋妭鐐圭殑涓嬩竴涓妭鐐?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">if</span>(temp->next==NULL) lastnode=NULL;<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉閾捐〃涓彧鏈変竴涓妭鐐?鍒犻櫎涔嬪悗灝辨病鏈夎妭鐐逛簡,鎶婂熬鑺傜偣緗負絀?/span><span style="color: #008000; "><br /></span>        delete(temp);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎澶磋妭鐐?/span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">return</span>;<br />    }<br />    <span style="color: #0000FF; ">while</span>(temp->next!=NULL&&temp->next->data!=x)<span style="color: #008000; ">//</span><span style="color: #008000; ">閬嶅巻閾捐〃鎵懼埌絎竴涓間笌x鐩哥瓑鐨勮妭鐐?temp琛ㄧず榪欎釜鑺傜偣鐨勪笂涓涓妭鐐?/span><span style="color: #008000; "><br /></span>    {<br />        temp=temp->next;<br />    }<br />    <span style="color: #0000FF; ">if</span>(temp->next==NULL) <span style="color: #0000FF; ">return</span>;<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉娌℃湁鎵懼埌鍒欒繑鍥?/span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">if</span>(temp->next==lastnode)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉鎵懼埌鐨勬椂鍊欏熬鑺傜偣</span><span style="color: #008000; "><br /></span>    {<br />        lastnode=temp;<span style="color: #008000; ">//</span><span style="color: #008000; ">鎶婂熬鑺傜偣鎸囧悜浠栫殑涓婁竴涓妭鐐?/span><span style="color: #008000; "><br /></span>        delete(temp->next);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎灝捐妭鐐?/span><span style="color: #008000; "><br /></span>        temp->next=NULL;<br />    }<br />    <span style="color: #0000FF; ">else</span><span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉涓嶆槸灝捐妭鐐?濡傚浘4</span><span style="color: #008000; "><br /></span>    {<br />        node=temp->next;<span style="color: #008000; ">//</span><span style="color: #008000; ">鐢ㄤ復鏃惰妭鐐筺ode鎸囧悜瑕佸垹闄ょ殑鑺傜偣</span><span style="color: #008000; "><br /></span>        temp->next=node->next;<span style="color: #008000; ">//</span><span style="color: #008000; ">瑕佸垹闄ょ殑鑺傜偣鐨勪笂涓涓妭鐐規寚鍚戣鍒犻櫎鑺傜偣鐨勪笅涓涓妭鐐?/span><span style="color: #008000; "><br /></span>        delete(node);<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒犻櫎鑺傜偣</span><span style="color: #008000; "><br /></span>        node=NULL;<br />    }<br />}</div><p class="MsoNormal" style="text-indent:20.45pt;mso-char-indent-count:1.95"><span style="font-family:"寰蔣闆呴粦","sans-serif"">絎節姝ワ紝瀹炵幇<span lang="EN-US">insert()</span>鍜?span lang="EN-US">insertHead()</span>鍑芥暟錛屽湪<span lang="EN-US">p</span>鑺傜偣鍚庢彃鍏ュ間負<span lang="EN-US">x</span>鐨勮妭鐐廣傚鍥?span lang="EN-US">5</span>銆?span lang="EN-US"><o:p></o:p></span></span></p><span style="font-family:"寰蔣闆呴粦","sans-serif""><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/list_5.png" width="769" height="296" alt="" /><br /><br /></span><p> </p><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">浠g爜濡備笅錛?/span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  myslist<T>::insert(T x,slistNode<T>* p)<br />{<br />    <span style="color: #0000FF; ">if</span>(p==NULL) <span style="color: #0000FF; ">return</span>;<br />    node=<span style="color: #0000FF; ">new</span> slistNode<T>();<span style="color: #008000; ">//</span><span style="color: #008000; ">鐢寵涓涓柊鐨勭┖闂?/span><span style="color: #008000; "><br /></span>    node->data=x;<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傚浘5</span><span style="color: #008000; "><br /></span>    node->next=p->next;<br />    p->next=node;<br />    <span style="color: #0000FF; ">if</span>(node->next==NULL)<span style="color: #008000; ">//</span><span style="color: #008000; ">濡傛灉node涓哄熬鑺傜偣</span><span style="color: #008000; "><br /></span>    lastnode=node;<br />}<br />template<<span style="color: #0000FF; ">class</span> T><br /><span style="color: #0000FF; ">void</span>  myslist<T>::insertHead(T x)<br />{<br />    node=<span style="color: #0000FF; ">new</span> slistNode<T>();<br />    node->data=x;<br />    node->next=headnode;<br />    headnode=node;<br />}</div><br /><p style="text-indent:20.45pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鏈緇堬紝鎴戜滑瀹屾垚涓涓畝鍗曠殑鍗曞悜閾捐〃銆傛鍗曞悜閾捐〃浠g爜榪樻湁寰堝寰呭畬鍠勭殑鍦版柟錛屼互鍚庝細淇敼浠g爜騫朵笉瀹氭椂鏇存柊銆?/span></p> <p style="margin-left:43.15pt;text-indent:-22.5pt;"><span style="font-family: 寰蔣闆呴粦, sans-serif; ">浜屻?</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍙屽悜閾捐〃</span></p> <p style="margin-left:20.7pt; text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">鍙屽悜閾捐〃鐨勬寚閽堝煙鏈変袱涓寚閽堬紝姣忎釜鏁版嵁緇撶偣鍒嗗埆鎸囧悜鐩存帴鍚庣戶鍜岀洿鎺ュ墠椹便傚崟鍚戦摼琛ㄥ彧鑳戒粠琛ㄥご寮濮嬪悜鍚庨亶鍘嗭紝鑰屽弻鍚戦摼琛ㄤ笉浣嗗彲浠ヤ粠鍓嶅悜鍚庨亶鍘嗭紝涔熷彲浠ヤ粠鍚庡悜鍓嶉亶鍘嗐傞櫎浜嗗弻鍚戦亶鍘嗙殑浼樼偣錛屽弻鍚戦摼琛ㄧ殑鍒犻櫎鐨勬椂闂村鏉傚害浼氶檷涓篛錛?錛夛紝鍥犱負鐩存帴閫氳繃鐩殑鎸囬拡灝卞彲浠ユ壘鍒板墠椹辮妭鐐癸紝鍗曞悜閾捐〃寰椾粠琛ㄥご寮濮嬮亶鍘嗗鎵懼墠椹辮妭鐐廣傜己鐐規槸姣忎釜鑺傜偣澶氫簡涓涓寚閽堢殑絀洪棿寮閿銆傚鍥?灝辨槸涓涓弻鍚戦摼琛ㄣ?/span></p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/list_6.png" width="813" height="236" alt="" /><br /><br /><p style="margin-left:43.15pt;text-indent:-22.5pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif";">涓夈?</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">寰幆閾捐〃</span></p> <p style="margin-left:20.7pt; text-indent:21.0pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif"">寰幆閾捐〃灝辨槸璁╅摼琛ㄧ殑鏈鍚庝竴涓妭鐐規寚鍚戠涓涓妭鐐癸紝榪欐牱灝卞艦鎴愪簡涓涓渾鐜紝鍙互寰幆閬嶅巻銆傚崟鍚戝驚鐜摼琛ㄥ彲浠ュ崟鍚戝驚鐜亶鍘嗭紝鍙屽悜寰幆閾捐〃鐨勫ご鑺傜偣鐨勬寚閽堜篃瑕佹寚鍚戞渶鍚庝竴涓妭鐐癸紝榪欐牱鐨勫彲浠ュ弻鍚戝驚鐜亶鍘嗐傚鍥?灝辨槸涓涓弻鍚戝驚鐜摼琛ㄣ?/span></p><img src="http://www.shnenglu.com/images/cppblog_com/cxiaojia/list_7.png" width="736" height="257" alt="" /><br /><p> </p><p style="margin-left:43.15pt;text-indent:-22.5pt;"><span style="font-family:"寰蔣闆呴粦","sans-serif";">鍥涖?</span><span style="font-family:"寰蔣闆呴粦","sans-serif"">閾捐〃鐩稿叧闂</span></p> <p style="margin-top:1.85pt;margin-right:0cm;margin-bottom:1.85pt;margin-left: 20.7pt;text-indent:5.55pt;line-height:12.15pt;background:white"><span style="font-size: 10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">1</span><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">銆佸浣曞垽鏂竴涓崟閾捐〃鏈夌幆</span></p> <p style="margin-top:1.85pt;margin-right:0cm;margin-bottom:1.85pt;margin-left: 0cm;text-indent:20.65pt;line-height:12.15pt;background:white"><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">  2</span><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">銆佸浣曞垽鏂竴涓幆鐨勫叆鍙g偣鍦ㄥ摢閲?/span></p> <p style="margin-top:1.85pt;margin-right:0cm;margin-bottom:1.85pt;margin-left: 20.65pt;line-height:12.15pt;background:white"><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">  3</span><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">銆佸浣曠煡閬撶幆鐨勯暱搴?/span></p> <p style="margin-top:1.85pt;margin-right:0cm;margin-bottom:1.85pt;margin-left: 20.65pt;line-height:12.15pt;background:white"><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">  4</span><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">銆佸浣曠煡閬撲袱涓崟閾捐〃錛堟棤鐜級鏄惁鐩鎬氦</span></p> <p style="margin-top:1.85pt;margin-right:0cm;margin-bottom:1.85pt;margin-left: 20.65pt;line-height:12.15pt;background:white"><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">  5</span><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">銆佸鏋滀袱涓崟閾捐〃錛堟棤鐜級鐩鎬氦錛屽浣曠煡閬撳畠浠浉浜ょ殑絎竴涓妭鐐規槸浠涔?/span></p> <p style="margin-top:1.85pt;margin-right:0cm;margin-bottom:1.85pt;margin-left: 20.65pt;line-height:12.15pt;background:white"><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">  6</span><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">銆佸浣曠煡閬撲袱涓崟閾捐〃錛堟湁鐜級鏄惁鐩鎬氦</span></p> <p style="margin-top:1.85pt;margin-right:0cm;margin-bottom:1.85pt;margin-left: 20.65pt;line-height:12.15pt;background:white"><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">  7</span><span style="font-size:10.5pt;font-family:"寰蔣闆呴粦","sans-serif";Times New Roman";">銆佸鏋滀袱涓崟閾捐〃錛堟湁鐜級鐩鎬氦錛屽浣曠煡閬撳畠浠浉浜ょ殑絎竴涓妭鐐規槸浠涔?/span></p><br />       <a style="text-decoration: underline; " title="絳旀" target="_blank">絳旀</a><br /><br /><br /><img src ="http://www.shnenglu.com/cxiaojia/aggbug/185760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cxiaojia/" target="_blank">C灝忓姞</a> 2012-07-31 17:41 <a href="http://www.shnenglu.com/cxiaojia/archive/2012/07/31/185760.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>hash_map鍝堝笇鏄犵収瀹瑰櫒鐨勫疄鐜?/title><link>http://www.shnenglu.com/cxiaojia/archive/2012/04/18/171901.html</link><dc:creator>C灝忓姞</dc:creator><author>C灝忓姞</author><pubDate>Wed, 18 Apr 2012 12:18:00 GMT</pubDate><guid>http://www.shnenglu.com/cxiaojia/archive/2012/04/18/171901.html</guid><wfw:comment>http://www.shnenglu.com/cxiaojia/comments/171901.html</wfw:comment><comments>http://www.shnenglu.com/cxiaojia/archive/2012/04/18/171901.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/cxiaojia/comments/commentRss/171901.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cxiaojia/services/trackbacks/171901.html</trackback:ping><description><![CDATA[<div><p>hash_map<span style="font-family: 瀹嬩綋;">錛岄【鍚嶆濅箟錛屽氨鏄埄鐢?/span>hash_set<span style="font-family:瀹嬩綋;">瀛樺偍緇撴瀯鐨勫啓</span>map<span style="font-family:瀹嬩綋;">鏄犵収瀹瑰櫒錛屾櫘閫氱殑</span>map<span style="font-family:瀹嬩綋;">鐢ㄧ殑鏄孩榛戞爲瀛樺偍緇撴瀯鍐欑殑銆傚厓绱犵殑媯绱㈡椂闂村姣旓紝</span>hash_set<span style="font-family:瀹嬩綋;">榪戜技涓?/span>O(1)<span style="font-family:瀹嬩綋;">錛岀孩榛戞爲涓?/span>O(logn)<span style="font-family:瀹嬩綋;">銆?/span>Hash_map<span style="font-family:瀹嬩綋;">鐨勭┖闂村紑閿瑕佹瘮</span>map <span style="font-family:瀹嬩綋;">鐨勭┖闂村紑閿澶э紝灝ゅ叾鏄垜鐢ㄦ暟緇勬ā鎷熸寚閽堝啓鐨?/span>hash_map<span style="font-family:瀹嬩綋;">銆?/span></p> <p><span style="font-family:瀹嬩綋;">鎵浠ワ紝濡傛灉鏈夊繀瑕侀噰鍙栨槧灝勭粨鏋勭殑鏃跺欙紝鑳界敤</span>hash_map<span style="font-family:瀹嬩綋;">灝卞埆鐢?/span>map<span style="font-family:瀹嬩綋;">銆?/span></p> <p><span style="font-family:瀹嬩綋;">闇瑕佹敞鎰忕殑鏄紝</span>hash_map<span style="font-family:瀹嬩綋;">閬嶅巻鍑烘潵鐨勫厓绱犱笉鏄湁搴忕殑銆?/span></p> <p>Hash_map<span style="font-family: 瀹嬩綋;">鍜屾櫘閫?/span>hash_set<span style="font-family:瀹嬩綋;">鐩告瘮鐨勮瘽錛?/span>hash_map<span style="font-family:瀹嬩綋;">姣?/span>hash_set<span style="font-family:瀹嬩綋;">澶氫簡涓寮?/span>value<span style="font-family:瀹嬩綋;">琛紝涔熷氨鏄槧灝勮〃銆?/span></p> <p> </p> <p><span style="font-family:瀹嬩綋;">涓嬮潰鏄?/span>hash_map<span style="font-family:瀹嬩綋;">鐨勬ā鏉匡紝鍜?/span>hash_set<span style="font-family: 瀹嬩綋; ">鐨勬ā鏉垮樊涓嶅銆?br /><br /></span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->template<<span style="color: #0000FF; ">class</span> KeyType,<span style="color: #0000FF; ">int</span> MaxHash><br /><span style="color: #0000FF; ">struct</span> HashFunction<br />{<br />    <span style="color: #0000FF; ">int</span> <span style="color: #0000FF; ">operator</span>()(<span style="color: #0000FF; ">const</span> KeyType& key)<br />    {<br />        <span style="color: #0000FF; ">int</span> h=key%MaxHash;<br />        <span style="color: #0000FF; ">if</span> (h<0) h+=MaxHash;<br />        <span style="color: #0000FF; ">return</span> h;<br />    }<br />};<br /><br />template<<span style="color: #0000FF; ">class</span> KeyType,<span style="color: #0000FF; ">class</span> ValueType,<span style="color: #0000FF; ">int</span> KeyContain,<span style="color: #0000FF; ">int</span> MaxHash,<span style="color: #0000FF; ">class</span> HashFun=HashFunction<KeyType,MaxHash> ><br /><span style="color: #0000FF; ">class</span> HashMap<br />{<br /><span style="color: #0000FF; ">public</span>:<br />    HashMap():hashfun(){Clear();}<br />    ValueType& <span style="color: #0000FF; ">operator</span>[](<span style="color: #0000FF; ">const</span> KeyType& key)<br />    {<br />        <span style="color: #0000FF; ">int</span> h=hashfun(key);<br />        <span style="color: #0000FF; ">int</span> pos=head[h];<br />        <span style="color: #0000FF; ">for</span>(;pos!=0;pos=next[pos])<br />        {<br />            <span style="color: #0000FF; ">if</span>(keys[pos]==key)<br />                <span style="color: #0000FF; ">return</span> values[pos];<br />        }<br />        next[++top]=head[h];<br />        head[h]=top;<br />        keys[top]=key;<br />        values[top]=ValueType();<span style="color: #008000; ">//</span><span style="color: #008000; ">鍒濆鍖?/span><span style="color: #008000; "><br /></span>        ++sz;<br />        <span style="color: #0000FF; ">return</span> values[top];<br />    }<br />    <span style="color: #0000FF; ">void</span> Clear()<br />    {<br />        memset(head,0,<span style="color: #0000FF; ">sizeof</span>(head));<br />        memset(next,0,(top+1)*<span style="color: #0000FF; ">sizeof</span>(<span style="color: #0000FF; ">int</span>));<br />        top=0;<br />        sz=0;<br />    }<br />    unsigned <span style="color: #0000FF; ">int</span> size() <span style="color: #0000FF; ">const</span> {<span style="color: #0000FF; ">return</span> sz;}<br /><br /><span style="color: #0000FF; ">private</span>:<br />    unsigned <span style="color: #0000FF; ">int</span> sz;<br />    HashFun hashfun;<br />    <span style="color: #0000FF; ">int</span> head[MaxHash];<br />    <span style="color: #0000FF; ">int</span> next[KeyContain];<br />    KeyType keys[KeyContain];<br />    ValueType values[KeyContain];<br />    <span style="color: #0000FF; ">int</span> top;<br />};</div><p> </p></div><img src ="http://www.shnenglu.com/cxiaojia/aggbug/171901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cxiaojia/" target="_blank">C灝忓姞</a> 2012-04-18 20:18 <a href="http://www.shnenglu.com/cxiaojia/archive/2012/04/18/171901.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍖洪棿鏌愪釜鏁板嚭鐜扮殑嬈℃暟http://www.shnenglu.com/cxiaojia/archive/2012/03/26/168993.htmlC灝忓姞C灝忓姞Mon, 26 Mar 2012 04:55:00 GMThttp://www.shnenglu.com/cxiaojia/archive/2012/03/26/168993.htmlhttp://www.shnenglu.com/cxiaojia/comments/168993.htmlhttp://www.shnenglu.com/cxiaojia/archive/2012/03/26/168993.html#Feedback0http://www.shnenglu.com/cxiaojia/comments/commentRss/168993.htmlhttp://www.shnenglu.com/cxiaojia/services/trackbacks/168993.html

緇欎綘涓涓叉暟瀛楋紝璁╀綘姹傚嚭鏌愪釜瀛愪覆涓煇涓暟瀛楀嚭鐜扮殑嬈℃暟銆?/span>

鐢ㄩ偦鎺ヨ〃鍌ㄥ瓨姣忎釜鏁板嚭鐜扮殑浣嶇疆錛岀劧鍚庡閭繪帴琛ㄨ繘琛屼簩鍒嗘煡鎵撅紝鎵懼嚭鍖洪棿銆?/span>



]]>
浼樼鍗氬鎺ㄨ崘錛氬悇縐嶆暟鎹粨鏋勪笌綆楁硶鐭ヨ瘑鍏ラ棬緇忓吀錛堜笉鏂洿鏂?http://www.shnenglu.com/cxiaojia/archive/2011/11/16/rumen.htmlC灝忓姞C灝忓姞Wed, 16 Nov 2011 07:58:00 GMThttp://www.shnenglu.com/cxiaojia/archive/2011/11/16/rumen.htmlhttp://www.shnenglu.com/cxiaojia/comments/160269.htmlhttp://www.shnenglu.com/cxiaojia/archive/2011/11/16/rumen.html#Feedback7http://www.shnenglu.com/cxiaojia/comments/commentRss/160269.htmlhttp://www.shnenglu.com/cxiaojia/services/trackbacks/160269.html

 

浣滆咃細C灝忓姞 鏇存柊鏃墮棿錛?/span>2012-8-16

嬈㈣繋鑷崘鍜?span style="color: red; ">鎺ㄨ崘閾炬帴銆傝浜庣暀璦澶勫憡鐭ャ?br />
鍩烘湰綆楁硶
璐績綆楁硶錛?a title="璐績綆楁硶" target="_blank">璐績綆楁硶 浣滆咃細鐙厡閫擱唹
               璐績綆楁硶綺捐 
浣滆咃細3522021224
閫掑綊鍜屽垎娌伙細閫掑綊涓庡垎娌葷瓥鐣?/a> 浣滆咃細zhoudaxia

鍥捐
鍥劇殑閬嶅巻錛圖FS鍜孊FS錛夛細  
鍥劇殑閬嶅巻 浣滆咃細jefferent
鏈灝忕敓鎴愭爲錛圥rim綆楁硶鍜孠ruskal綆楁硶錛夛細 璐績綆楁硶--鏈灝忕敓鎴愭爲 浣滆咃細鐙厡閫擱唹
Dijkstra綆楁硶錛?nbsp;鏈鐭礬寰勪箣Dijkstra綆楁硶璇︾粏璁茶В 浣滆咃細緇垮博
                   鏈鐭礬寰勭畻娉?#8212;Dijkstra(榪澃鏂壒鎷?綆楁硶鍒嗘瀽涓庡疄鐜?C/C++) 浣滆咃細tankywoo
Bellman-Ford綆楁硶錛?a title="鏈鐭礬寰勭畻娉?#8212;Bellman-Ford(璐濆皵鏇?紱忕壒)綆楁硶鍒嗘瀽涓庡疄鐜?C/C++)" target="_blank">鏈鐭礬寰勭畻娉?#8212;Bellman-Ford(璐濆皵鏇?紱忕壒)綆楁硶鍒嗘瀽涓庡疄鐜?C/C++)  浣滆咃細tankywoo
Floyd-Warshall綆楁硶錛?a title="鏈鐭礬寰勭畻娉?#8212;Floyd(寮楁礇浼婂痙)綆楁硶鍒嗘瀽涓庡疄鐜?C/C++)">鏈鐭礬寰勭畻娉?#8212;Floyd(寮楁礇浼婂痙)綆楁硶鍒嗘瀽涓庡疄鐜?C/C++) 浣滆咃細tankywoo
Johnson綆楁硶錛?a title="Johnson 綆楁硶">Johnson 綆楁硶 浣滆咃細huliang82
A*綆楁硶錛?/span>A*綆楁硶璇﹁В 浣滆咃細鎰氫漢鏈夎妭
鎷撴墤鎺掑簭錛?a title="鎷撴墤鎺掑簭">鎷撴墤鎺掑簭  浣滆咃細
midgard

              濡備綍鍘葷悊瑙?鎷撴墤鎺掑簭綆楁硶 浣滆咃細寮犲杽鍙?/strong>
鍏抽敭璺緞錛?a title="鍏抽敭璺緞" target="_blank">鍏抽敭璺緞 浣滆咃細navorse
嬈ф媺璺細嬈ф媺璺棶棰?/a> 浣滆咃細MaiK
宸垎綰︽潫錛?a title="宸垎綰︽潫緋葷粺">宸垎綰︽潫緋葷粺 浣滆咃細fuliang
浜屽垎鍥炬渶澶у尮閰嶏細浜屽垎鍥懼尮閰嶆葷粨 浣滆咃細鍖楁瀬澶╁崡鏄?br />                           浜屽垎鍥懼尮閰嶇畻娉曟葷粨 浣滆咃細z7m8v6
緗戠粶嫻侊細緗戠粶嫻佸熀紜 浣滆咃細chhaj523

鏁版嵁緇撴瀯
閾捐〃:鍩烘湰鏁版嵁緇撴瀯錛氶摼琛紙list錛?/span> 浣滆?C灝忓姞
鏍?
鍩烘湰鏁版嵁緇撴瀯錛氭爤錛坰tack錛?/a> 浣滆?C灝忓姞 
闃熷垪:
鍩烘湰鏁版嵁緇撴瀯錛氶槦鍒楋紙queue錛?/a> 浣滆?C灝忓姞 
 鏍?
鍩烘湰鏁版嵁緇撴瀯錛氭爲錛坱ree錛?/a> 浣滆?C灝忓姞  
浜屽弶鏍?
C灝忓姞 
浜屽弶鏌ユ壘鏍?
涓姝ヤ竴姝ュ啓浜屽弶鏌ユ壘鏍?/a>  浣滆?C灝忓姞  
騫舵煡闆嗭細
騫舵煡闆?-瀛︿範璇﹁В 浣滆咃細yx_th000
鍝堝笇琛細鐚庝漢鏉?/span>
浜屽垎鏌ユ壘錛?a title="鏌ユ壘錛堜簩錛夛細浜屽垎鏌ユ壘">鏌ユ壘錛堜簩錛夛細浜屽垎鏌ユ壘
 浣滆咃細xiaosuo
鍝堝か鏇兼爲錛?/span>鍝堝か鏇兼爲 浣滆咃細angle
騫寵 浜屽弶鏍戯細 騫寵 浜屽弶鏍戯紙瑙f儜錛?/a> 浣滆咃細Never
鏍戠姸鏁扮粍錛?a target="_blank">鏍戠姸鏁扮粍鎬葷粨 浣滆咃細鐔婄尗yingcai
綰挎鏍戯細 綰挎鏍戞葷粨 浣滆咃細鏄熸槦
褰掑茍鎺掑簭姹傞嗗簭鏁幫細kahn


鍔ㄦ佽鍒掞紙DP錛?/span>
綆鍗曞姩鎬佽鍒掞細brokencode

鑳屽寘闂錛氥婅儗鍖呬節璁層?br />

鏁板
閬椾紶綆楁硶錛?nbsp;閬椾紶綆楁硶鍏ラ棬 浣滆咃細heaad
瀹規枼鍘熺悊錛?a href="http://www.shnenglu.com/vici/archive/2011/09/05/155103.html" title="瀹規枼鍘熺悊錛堢炕璇戯級" target="_blank">瀹規枼鍘熺悊錛堢炕璇戯級 浣滆咃細vici
姣嶅嚱鏁幫細姣嶅嚱鏁板叆闂ㄥ皬緇?/a> 浣滆咃細zhangxiang0125
縐︿節闊剁畻娉曪細
simonezhlx

楂樻柉娑堝厓娉曪細
嬈у嚑閲屽緱瀹氱悊錛圙CD錛夛細
鎵╁睍嬈у嚑閲屽緱瀹氱悊錛?/span>
涓浗鍓╀綑瀹氱悊錛?/span>
姒傜巼闂錛?/span>

璁$畻鍑犱綍
鍑犱綍鍏紡錛?br />紱繪暎鍖栵細 
浠涔堟槸紱繪暎鍖栵紵 浣滆咃細matrix67
鎵弿綰跨畻娉曪細
鍙夌Н鍜岀偣縐細
鍑稿寘錛?br />




]]>
KMP綆楁硶涓叧浜巒ext鏁扮粍鐨勬帰絀?/title><link>http://www.shnenglu.com/cxiaojia/archive/2011/09/20/kmp.html</link><dc:creator>C灝忓姞</dc:creator><author>C灝忓姞</author><pubDate>Tue, 20 Sep 2011 10:11:00 GMT</pubDate><guid>http://www.shnenglu.com/cxiaojia/archive/2011/09/20/kmp.html</guid><wfw:comment>http://www.shnenglu.com/cxiaojia/comments/156343.html</wfw:comment><comments>http://www.shnenglu.com/cxiaojia/archive/2011/09/20/kmp.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.shnenglu.com/cxiaojia/comments/commentRss/156343.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/cxiaojia/services/trackbacks/156343.html</trackback:ping><description><![CDATA[     鎽樿: 浠庛婁弗涔︺嬩笂鐪嬪埌浜咾MP綆楁硶錛岀湅浜嗕竴閬嶆病鎳傦紝浣嗚寰楁尯紲炲鐨勶紝灝辮姳璐逛簡鍑犲ぉ鏃墮棿娣卞叆鐨勭悊瑙c傜畻娉曠殑鍘熺悊鍏跺疄涓嶉毦錛岄毦鐨勫氨鏄偅涓閥濡欑殑next鏁扮粍錛岃繖涓猲ext鏁扮粍寰堝惛寮曟垜錛屾垜鐨勫ぇ閮ㄥ垎鏃墮棿涔熼兘鏄姳璐瑰湪榪欎釜鏁扮粍涓婇潰鐨勩傝繖涓猲ext鏁扮粍鏄疜MP閲岄潰涓涓緢鍏抽敭鐨勫湴鏂癸紝瀵逛簬鍦ㄦ暟鎹粨鏋勪功涓婄湅榪囦竴閬嶆暣涓畻娉曟祦紼嬬殑浜猴紝鑳藉鎶妌ext鏁扮粍鎼炴槑鐧斤紝鏁翠釜KMP綆楁硶鐨勬暣浣撴濇兂灝卞樊涓嶅鐞嗚В浜嗐傜劧鍚庡湪涓浜涚粏鑺備笂闈㈡繁鍏ユ濊冧竴涓嬶紝灝卞彲...  <a href='http://www.shnenglu.com/cxiaojia/archive/2011/09/20/kmp.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/cxiaojia/aggbug/156343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/cxiaojia/" target="_blank">C灝忓姞</a> 2011-09-20 18:11 <a href="http://www.shnenglu.com/cxiaojia/archive/2011/09/20/kmp.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://xxx444vip.com" target="_blank">欧美在线观看视频一区二区</a>| <a href="http://wwwyinyinai149.com" target="_blank">国产精品丝袜xxxxxxx</a>| <a href="http://66hhmm.com" target="_blank">国产日韩视频一区二区三区</a>| <a href="http://ym5571.com" target="_blank">午夜精品久久一牛影视</a>| <a href="http://avse98.com" target="_blank">亚洲欧美日韩国产另类专区</a>| <a href="http://4tobi.com" target="_blank">国产农村妇女毛片精品久久莱园子 </a>| <a href="http://www909059.com" target="_blank">亚洲精品视频一区二区三区</a>| <a href="http://feiniao168.com" target="_blank">欧美日本一区</a>| <a href="http://mxkaozi.com" target="_blank">午夜视频在线观看一区二区三区 </a>| <a href="http://qiruiwangluo.com" target="_blank">欧美激情视频网站</a>| <a href="http://5599912.com" target="_blank">欧美激情精品久久久久久久变态</a>| <a href="http://www3344cao.com" target="_blank">亚洲视频自拍偷拍</a>| <a href="http://taotuango.com" target="_blank">亚洲欧美日韩天堂</a>| <a href="http://shyihegu.com" target="_blank">亚洲电影在线播放</a>| <a href="http://kanzhelu31.com" target="_blank">亚洲乱码国产乱码精品精天堂</a>| <a href="http://gykfqzgpt.com" target="_blank">欧美午夜精品一区</a>| <a href="http://2938476.com" target="_blank">久久久久女教师免费一区</a>| <a href="http://92xx00.com" target="_blank">美女任你摸久久</a>| <a href="http://lymzdd.com" target="_blank">亚洲午夜羞羞片</a>| <a href="http://www497171a.com" target="_blank">欧美在线观看视频在线</a>| <a href="http://261262.com" target="_blank">亚洲日本视频</a>| <a href="http://er65.com" target="_blank">欧美一区二区三区精品</a>| <a href="http://hongmoyi.com" target="_blank">亚洲福利在线看</a>| <a href="http://henhenai1.com" target="_blank">日韩一级在线观看</a>| <a href="http://quanfadq.com" target="_blank">午夜一区二区三视频在线观看</a>| <a href="http://6168138.com" target="_blank">91久久精品国产</a>| <a href="http://551731.com" target="_blank">亚洲在线电影</a>| <a href="http://aimashe.com" target="_blank">亚洲狼人精品一区二区三区</a>| <a href="http://388268.com" target="_blank">亚洲欧美一区二区激情</a>| <a href="http://wwwn94.com" target="_blank">亚洲精品乱码久久久久久日本蜜臀 </a>| <a href="http://www-800778.com" target="_blank">亚洲美女色禁图</a>| <a href="http://bjayj.com" target="_blank">国产一级揄自揄精品视频</a>| <a href="http://www89999.com" target="_blank">欧美国产日本</a>| <a href="http://16355t.com" target="_blank">国产亚洲欧美日韩美女</a>| <a href="http://979695.com" target="_blank">夜夜嗨av一区二区三区中文字幕</a>| <a href="http://susan5.com" target="_blank">激情久久五月</a>| <a href="http://www-333410.com" target="_blank">亚洲深夜福利在线</a>| <a href="http://mom8888.com" target="_blank">亚洲精品一区二区三区四区高清</a>| <a href="http://www40255.com" target="_blank">小处雏高清一区二区三区</a>| <a href="http://660507jj.com" target="_blank">一本色道久久综合狠狠躁篇的优点</a>| <a href="http://300618.com" target="_blank">午夜免费在线观看精品视频</a>| <a href="http://zytxkj.com" target="_blank">在线一区观看</a>| <a href="http://hnautos.com" target="_blank">欧美高清视频在线播放</a>| <a href="http://chinasck.com" target="_blank">久久综合给合久久狠狠色</a>| <a href="http://www22336.com" target="_blank">国产精品家庭影院</a>| <a href="http://wg246.com" target="_blank">亚洲精选一区</a>| <a href="http://0359222.com" target="_blank">亚洲精品中文字幕在线</a>| <a href="http://by4425.com" target="_blank">久久久久久久一区二区三区</a>| <a href="http://ttzbdl.com" target="_blank">欧美伊人久久久久久久久影院</a>| <a href="http://www-222304.com" target="_blank">欧美乱在线观看</a>| <a href="http://ooonefteprompellets.com" target="_blank">免费影视亚洲</a>| <a href="http://13501680.com" target="_blank">伊人成人网在线看</a>| <a href="http://44o77.com" target="_blank">欧美专区在线播放</a>| <a href="http://spardec.com" target="_blank">久久精彩视频</a>| <a href="http://21bridal.com" target="_blank">国产日韩欧美日韩</a>| <a href="http://xxxsxx.com" target="_blank">久久香蕉精品</a>| <a href="http://www672hh.com" target="_blank">激情欧美日韩</a>| <a href="http://360695.com" target="_blank">亚洲一区免费网站</a>| <a href="http://luqintang.com" target="_blank">亚洲一区二区三区在线观看视频 </a>| <a href="http://caoliu20.com" target="_blank">久久久久一区</a>| <a href="http://8xxjj.com" target="_blank">免费看av成人</a>| <a href="http://551753.com" target="_blank">18成人免费观看视频</a>| <a href="http://xp1025.com" target="_blank">久久婷婷麻豆</a>| <a href="http://521531.com" target="_blank">亚洲福利av</a>| <a href="http://juegold.com" target="_blank">亚洲电影免费观看高清完整版在线 </a>| <a href="http://hnspygxjscyfwzx.com" target="_blank">在线视频你懂得一区</a>| <a href="http://2061851.com" target="_blank">欧美黑人多人双交</a>| <a href="http://smiczbb.com" target="_blank">亚洲欧洲一区二区天堂久久</a>| <a href="http://m10669.com" target="_blank">亚洲精品一区在线观看香蕉</a>| <a href="http://227002.com" target="_blank">欧美激情一区</a>| <a href="http://ythbhg.com" target="_blank">一区二区三区视频在线播放</a>| <a href="http://www24668.com" target="_blank">亚洲在线中文字幕</a>| <a href="http://www-236677.com" target="_blank">国产农村妇女精品一区二区</a>| <a href="http://www780yy.com" target="_blank">久久超碰97中文字幕</a>| <a href="http://y65c.com" target="_blank">噜噜噜91成人网</a>| <a href="http://www-666638.com" target="_blank">亚洲电影第1页</a>| <a href="http://lxpaiju.com" target="_blank">欧美区一区二区三区</a>| <a href="http://72avav.com" target="_blank">一区二区三区国产精品</a>| <a href="http://myasker.com" target="_blank">欧美一二区视频</a>| <a href="http://www-333410.com" target="_blank">韩曰欧美视频免费观看</a>| <a href="http://060607.com" target="_blank">男男成人高潮片免费网站</a>| <a href="http://www-68689.com" target="_blank">亚洲精品乱码久久久久久黑人</a>| <a href="http://www-477499.com" target="_blank">欧美日韩一区二区三区在线 </a>| <a href="http://743627.com" target="_blank">黄色成人在线免费</a>| <a href="http://5e5b7g.com" target="_blank">久久在线免费视频</a>| <a href="http://559dd.com" target="_blank">亚洲三级观看</a>| <a href="http://www-94889.com" target="_blank">欧美一区二区黄色</a>| <a href="http://56718ca.com" target="_blank">亚洲承认在线</a>| <a href="http://100736.com" target="_blank">欧美日韩中文字幕</a>| <a href="http://yh-hy.com" target="_blank">久久本道综合色狠狠五月</a>| <a href="http://yyypdq.com" target="_blank">欧美二区在线</a>| <a href="http://www-42189.com" target="_blank">亚洲欧美日韩精品在线</a>| <a href="http://ylsnuha.com" target="_blank">韩日欧美一区二区三区</a>| <a href="http://jdss777.com" target="_blank">欧美日韩精品免费看</a>| <a href="http://yymh1056.com" target="_blank">午夜精品一区二区三区在线播放</a>| <a href="http://pnxingmei.com" target="_blank">免费日韩av片</a>| <a href="http://tareandshare.com" target="_blank">亚洲天堂偷拍</a>| <a href="http://ruichengxiang.com" target="_blank">精品动漫3d一区二区三区</a>| <a href="http://www-132377.com" target="_blank">欧美精品在线观看91</a>| <a href="http://56lw.com" target="_blank">亚欧成人精品</a>| <a href="http://free18teen.com" target="_blank">亚洲精品123区</a>| <a href="http://87ssyy.com" target="_blank">久久精品国产一区二区三</a>| <a href="http://y9z8.com" target="_blank">久久国产天堂福利天堂</a>| <a href="http://sihu121.com" target="_blank">久久精品夜色噜噜亚洲a∨</a>| <a href="http://www23009.com" target="_blank">狠狠综合久久</a>| <a href="http://vvvv81.com" target="_blank">国产精品国产精品国产专区不蜜</a>| <a href="http://www-333410.com" target="_blank">欧美一区二区精品在线</a>| <a href="http://www-4012345.com" target="_blank">亚洲欧洲一区二区在线观看</a>| <a href="http://fyfsds.com" target="_blank">欧美专区在线播放</a>| <a href="http://uuuu79.com" target="_blank">亚洲美女av在线播放</a>| <a href="http://www-88899.com" target="_blank">国产亚洲视频在线</a>| <a href="http://guanghezixun.com" target="_blank">欧美日本三区</a>| <a href="http://55kam.com" target="_blank">久久午夜色播影院免费高清</a>| <a href="http://995688.com" target="_blank">亚洲欧美激情一区二区</a>| <a href="http://bocai01.com" target="_blank">亚洲激情自拍</a>| <a href="http://wwwcc7777.com" target="_blank">六月天综合网</a>| <a href="http://739191g.com" target="_blank">久久精品国产欧美亚洲人人爽</a>| <a href="http://kk1xx-com.com" target="_blank">一区二区av在线</a>| <a href="http://6661639.com" target="_blank">亚洲国产精品成人久久综合一区</a>| <a href="http://58yewu.com" target="_blank">国产美女一区二区</a>| <a href="http://oudaole.com" target="_blank">欧美日韩精品高清</a>| <a href="http://www-13978.com" target="_blank">免费看成人av</a>| <a href="http://go1818.com" target="_blank">久久婷婷影院</a>| <a href="http://mruyan.com" target="_blank">久久成人18免费观看</a>| <a href="http://16355t.com" target="_blank">亚洲欧美日韩国产精品</a>| <a href="http://www49773.com" target="_blank">亚洲性色视频</a>| <a href="http://yeyesaoqi.com" target="_blank">一区二区三区av</a>| <a href="http://313cq.com" target="_blank">99国产精品久久久久久久成人热</a>| <a href="http://794238.com" target="_blank">欧美阿v一级看视频</a>| <a href="http://jxjx11.com" target="_blank">久久这里只精品最新地址</a>| <a href="http://xhamtube.com" target="_blank">欧美一二三区精品</a>| <a href="http://by27333.com" target="_blank">欧美亚洲综合另类</a>| <a href="http://sxhrdyb.com" target="_blank">亚洲专区欧美专区</a>| <a href="http://sesese98.com" target="_blank">亚洲香蕉在线观看</a>| <a href="http://457745.com" target="_blank">亚洲视频免费观看</a>| <a href="http://345fz.com" target="_blank">中国av一区</a>| <a href="http://www780yy.com" target="_blank">麻豆精品视频在线</a>| <a href="http://1390744.com" target="_blank">久久躁日日躁aaaaxxxx</a>| <a href="http://pabjzz.com" target="_blank">久久综合九九</a>| <a href="http://605054.com" target="_blank">免费成人在线视频网站</a>| <a href="http://bjlaosha.com" target="_blank">美女诱惑一区</a>| <a href="http://airsixth.com" target="_blank">欧美精品aa</a>| <a href="http://popowq.com" target="_blank">欧美日韩在线观看视频</a>| <a href="http://jzsp121.com" target="_blank">欧美日韩免费区域视频在线观看</a>| <a href="http://511caifu.com" target="_blank">欧美激情一区二区三区不卡</a>| <a href="http://wwwsfsf11.com" target="_blank">欧美久久九九</a>| <a href="http://cao3636.com" target="_blank">欧美日韩在线另类</a>| <a href="http://zj-jufeng.com" target="_blank">国产精品久久久久久久久借妻 </a>| <a href="http://428820.com" target="_blank">久久综合色天天久久综合图片</a>| <a href="http://ttzbdl.com" target="_blank">久久狠狠久久综合桃花</a>| <a href="http://ahqdlq.com" target="_blank">久久精品噜噜噜成人av农村</a>| <a href="http://www23sds.com" target="_blank">久久精品国产在热久久</a>| <a href="http://5s5s5s.com" target="_blank">久久视频一区二区</a>| <a href="http://805185.com" target="_blank">欧美风情在线</a>| <a href="http://wwwnnnn.com" target="_blank">欧美色精品天天在线观看视频</a>| <a href="http://710195.com" target="_blank">国产精品sss</a>| <a href="http://551753.com" target="_blank">国产亚洲精品aa</a>| <a href="http://kittybob.com" target="_blank">亚洲国产成人精品女人久久久 </a>| <a href="http://by33336.com" target="_blank">国产精品久久久久久久一区探花</a>| <a href="http://7c3e.com" target="_blank">国产精品国产三级国产a</a>| <a href="http://www149aa.com" target="_blank">欧美三级视频</a>| <a href="http://9885888.com" target="_blank">国产一区二区三区在线免费观看 </a>| <a href="http://bjrailtech.com" target="_blank">一区视频在线看</a>| <a href="http://621791.com" target="_blank">91久久精品国产91久久</a>| <a href="http://305838.com" target="_blank">亚洲视屏在线播放</a>| <a href="http://8332777.com" target="_blank">欧美在线视频二区</a>| <a href="http://tutu80.com" target="_blank">欧美大胆人体视频</a>| <a href="http://fsxinruiph.com" target="_blank">亚洲理伦在线</a>| <a href="http://hhbz518.com" target="_blank">欧美一级播放</a>| <a href="http://qqx123.com" target="_blank">欧美成人精品高清在线播放</a>| <a href="http://19zet.com" target="_blank">欧美日韩黄视频</a>| <a href="http://rainbowbpm.com" target="_blank">国产综合自拍</a>| <a href="http://aberyco.com" target="_blank">99国产精品99久久久久久</a>| <a href="http://zgztby.com" target="_blank">香港久久久电影</a>| <a href="http://wwwsfsf11.com" target="_blank">欧美激情影音先锋</a>| <a href="http://ww9494.com" target="_blank">一本色道久久综合亚洲精品按摩 </a>| <a href="http://www0505nn.com" target="_blank">夜夜嗨av一区二区三区四区</a>| <a href="http://7777525.com" target="_blank">亚洲欧美影院</a>| <a href="http://www-kj777.com" target="_blank">欧美成ee人免费视频</a>| <a href="http://436212.com" target="_blank">亚洲最新色图</a>| <a href="http://syfeichi.com" target="_blank">久久乐国产精品</a>| <a href="http://xwsj2020.com" target="_blank">国产精品播放</a>| <a href="http://www-833898.com" target="_blank">亚洲国产专区</a>| <a href="http://56718ca.com" target="_blank">久久成人18免费观看</a>| <a href="http://www-44469.com" target="_blank">91久久黄色</a>| <a href="http://sauske.com" target="_blank">久久国产精品久久国产精品</a>| <a href="http://961318.com" target="_blank">欧美精品一区二区三区四区</a>| <a href="http://saobi6.com" target="_blank">国产一区二区三区久久</a>| <a href="http://1313js.com" target="_blank">一区二区三区三区在线</a>| <a href="http://www-111111.com" target="_blank">久久亚洲一区二区三区四区</a>| <a href="http://iietao.com" target="_blank">在线性视频日韩欧美</a>| <a href="http://hgx123.com" target="_blank">免费观看成人网</a>| <a href="http://zzzz80.com" target="_blank">国产在线麻豆精品观看</a>| <a href="http://shno1steel.com" target="_blank">在线亚洲免费视频</a>| <a href="http://116016.com" target="_blank">欧美高清视频一区二区三区在线观看 </a>| <a href="http://www24699.com" target="_blank">亚洲日本欧美在线</a>| <a href="http://t3gg.com" target="_blank">久久综合一区二区三区</a>| <a href="http://cp50088.com" target="_blank">亚洲系列中文字幕</a>| <a href="http://bixiuge.com" target="_blank">欧美美女日韩</a>| <a href="http://www-82622.com" target="_blank">日韩午夜av</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>