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

A Za, A Za, Fighting...

堅(jiān)信:勤能補(bǔ)拙

把二元查找樹(shù)轉(zhuǎn)變成排序的雙向鏈表

題目出處: http://zhedahht.blog.163.com/

題目:輸入一棵二元查找樹(shù),將該二元查找樹(shù)轉(zhuǎn)換成一個(gè)排序的雙向鏈表。要求不能創(chuàng)建任何新的結(jié)點(diǎn),只調(diào)整指針的指向。

  比如將二元查找樹(shù)
   
                                        10
                                          /    \
                                        6       14
                                      /  \     /  \
                                    4     8  12    16
轉(zhuǎn)換成雙向鏈表

4=6=8=10=12=14=16


思路:遞歸,在一時(shí)找不到遞歸的靈感的時(shí)候,多考慮考慮遞歸的參數(shù),有時(shí)更重要的是考慮遞歸的返回值
      每處理一個(gè)節(jié)點(diǎn),首先獲取左子樹(shù)和右子樹(shù)所返回的鏈表,然后拼接

代碼:
#include<stdio.h>
#include
<string.h>
#include
<stdlib.h>

/* Problem: Convert a binary search tree into a sorted linkedlist */
/* When it comes to Tree-Structure, recursion is always the most common solution.
   When designing recursion solution, should consider:
       1. the parameters
       2(important). the return object
*/

struct Node {
    
int value;
    
struct Node *left;
    
struct Node *right;
};

struct Node *
BTree2List(
struct Node *root)
{
    
if(root == NULL)
        
return NULL;
    
struct Node *ret = NULL;

    
/* Convert the left tree into a sorted linkedlist */
    
struct Node *l_linkedlist = BTree2List(root->left);
    ret 
= l_linkedlist==NULL ? root : l_linkedlist;

    
/* Convert the right tree into a sorted linkedlist */
    
struct Node *r_linkedlist = BTree2List(root->right);
    
while(l_linkedlist && l_linkedlist->right)
        l_linkedlist 
= l_linkedlist->right;

    
/* Combine */
    
if(l_linkedlist)
        l_linkedlist
->right = root;
    root
->left = l_linkedlist;
    root
->right = r_linkedlist;
    
if(r_linkedlist)
        r_linkedlist
->left = root;
    
    
return ret;
}

int main(int argc, char** argv)
{
    
struct Node a = {4, NULL, NULL};
    
struct Node b = {8, NULL, NULL};
    
struct Node c = {12, NULL, NULL};
    
struct Node d = {16, NULL, NULL};
    
struct Node e = {6, NULL, &b};
    
struct Node f = {14&c, NULL};
    
struct Node g = {10&e, &f};

    
struct Node *ret = BTree2List(&g);
    
while(ret && ret->right) {
        ret 
= ret->right;
    }

    
while(ret) {
        printf(
"%d\n", ret->value);
        ret 
= ret->left;
    }

    
return 0;
}


posted on 2011-05-23 09:09 simplyzhao 閱讀(393) 評(píng)論(0)  編輯 收藏 引用 所屬分類: M_面試題集錦

導(dǎo)航

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

統(tǒng)計(jì)

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产综合网站| 麻豆精品网站| 国产日韩欧美电影在线观看| 久久亚洲综合| 六十路精品视频| 麻豆精品在线视频| 欧美精品二区| 欧美视频精品在线| 国产精品萝li| 黄色精品网站| 一个色综合导航| 午夜亚洲影视| 欧美国产一区二区三区激情无套| 欧美成人免费网站| 一本色道久久综合狠狠躁篇的优点| 正在播放亚洲| 久久久久久亚洲精品不卡4k岛国| 免费一区视频| 国产伦精品一区二区三区视频黑人| 国产婷婷成人久久av免费高清 | 亚洲一区二区三区精品动漫| 国产伦精品一区二区三| 黑人操亚洲美女惩罚| 亚洲国产精品一区在线观看不卡 | 午夜精品久久久久久久久| 久久国产日韩| 欧美日韩国产成人精品| 国产亚洲福利社区一区| 日韩一级二级三级| 久久aⅴ乱码一区二区三区| 欧美成人免费小视频| 亚洲一区二区欧美| 欧美激情精品久久久| 国产一区二区无遮挡| 亚洲毛片在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 一区二区三区四区五区精品视频 | 亚洲欧美色婷婷| 欧美高清在线播放| 欧美一区二区三区日韩| 欧美喷潮久久久xxxxx| 狠狠色综合网站久久久久久久| 亚洲午夜国产成人av电影男同| 欧美风情在线| 亚洲破处大片| 欧美成人69av| 在线观看不卡| 久久先锋影音| 欧美一区二区三区精品| 欧美系列电影免费观看| 亚洲最快最全在线视频| 亚洲国产日韩一区| 午夜激情久久久| 国产精品久久波多野结衣| 日韩一级欧洲| 亚洲人成在线播放网站岛国| 久久这里只有| 狠狠色综合网站久久久久久久| 欧美一级一区| 亚洲欧美国产视频| 国产精品久久久久久五月尺| 亚洲尤物视频在线| 999亚洲国产精| 欧美日韩一区二区免费视频| 99精品国产在热久久| 91久久极品少妇xxxxⅹ软件| 欧美xart系列高清| 日韩香蕉视频| 亚洲色图综合久久| 国产久一道中文一区| 香蕉久久精品日日躁夜夜躁| 亚洲欧美电影院| 国内精品美女av在线播放| 久久午夜电影| 欧美高清视频一区二区| 男女视频一区二区| 另类综合日韩欧美亚洲| 久久久久国产精品人| 亚洲国产美女精品久久久久∴| 免费成人黄色av| 欧美激情一区二区在线 | 亚洲欧美精品中文字幕在线| 亚洲一区三区视频在线观看| 国产视频在线观看一区二区三区| 久久久久久自在自线| 农村妇女精品| 亚洲欧美中文字幕| 久久久久久婷| 一区二区三区成人精品| 亚洲欧美一区二区激情| 91久久国产综合久久| 一本大道久久a久久综合婷婷| 国产精品久久午夜| 免费在线看成人av| 欧美午夜精品久久久久久人妖| 欧美在线免费观看视频| 免费在线日韩av| 性伦欧美刺激片在线观看| 久久精品视频99| 一区二区三区久久网| 午夜精彩国产免费不卡不顿大片| 91久久精品一区二区别| 亚洲欧美日本国产专区一区| 亚洲美女视频| 最新亚洲一区| 国产三级精品在线不卡| 亚洲激情在线视频| 国产美女搞久久| 亚洲激情网站| 一区在线视频| 在线亚洲国产精品网站| 91久久国产综合久久| 亚洲欧美日韩直播| 正在播放亚洲| 欧美a级片网| 久久久天天操| 国产精品黄色| 99精品国产热久久91蜜凸| 亚洲国产导航| 久久精品国产999大香线蕉| 亚洲欧美乱综合| 欧美激情一区二区三区蜜桃视频| 久久久99精品免费观看不卡| 国产精品久久久久久亚洲毛片| 亚洲人成在线播放| 亚洲黄色成人久久久| 久久精品亚洲一区| 久久高清福利视频| 国产精品欧美日韩一区| 一区二区三欧美| 亚洲乱码国产乱码精品精| 久久精品毛片| 久久综合中文色婷婷| 国产视频观看一区| 欧美一级播放| 久久九九全国免费精品观看| 国产精品理论片在线观看| 国产精品99一区二区| 激情丁香综合| 久久男女视频| 欧美激情网友自拍| 亚洲成人在线免费| 美女亚洲精品| 亚洲国产天堂久久综合| 亚洲国产高清在线观看视频| 久久久久一本一区二区青青蜜月| 久久婷婷久久| 在线看视频不卡| 欧美va天堂在线| 99在线精品视频| 午夜日本精品| 国产一区二区中文字幕免费看| 久久超碰97中文字幕| 裸体歌舞表演一区二区| 亚洲电影视频在线| 欧美久久电影| 亚洲影院色无极综合| 久久精品一区二区三区不卡牛牛| 国产日韩欧美亚洲一区| 久久精品国产免费看久久精品| 另类激情亚洲| 99国产精品自拍| 国产精品一区在线观看| 久久久久久伊人| 亚洲激情国产精品| 亚洲一区三区电影在线观看| 国产欧美日韩一区二区三区| 久久久97精品| 日韩亚洲精品视频| 久久成人免费| 日韩一二在线观看| 国产午夜精品视频| 欧美国产三级| 欧美日韩亚洲视频一区| 一本久道综合久久精品| 国产精品国产三级国产普通话三级 | 国产日韩精品一区二区三区 | 欧美在线视频观看| 亚洲成在线观看| 欧美性一二三区| 久久免费视频这里只有精品| av成人免费在线观看| 久久久精品一区| 日韩视频免费观看| 国产一区二区丝袜高跟鞋图片| 欧美日韩不卡一区| 久久不射电影网| 亚洲图片在线观看| 亚洲黄色av| 久久亚洲国产精品一区二区| 亚洲视频国产视频| 亚洲国产高清视频| 国产日韩精品久久| 国产精品第一页第二页第三页| 久久这里有精品视频| 小嫩嫩精品导航| 99精品热视频| 亚洲精品在线三区| 欧美激情一区二区三区在线视频| 欧美亚洲视频在线看网址|