• <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>
            隨筆-80  評論-24  文章-0  trackbacks-0
             1 Node *unitelist(Node *r1, Node *r2)
             2 {
             3     if (r1)
             4     {
             5         if (!r2)
             6         {
             7             return r1;
             8         }
             9     }
            10     else
            11     {
            12         return r2;
            13     }
            14 
            15     Node *p1 = r1->next, *q1 = r1, *p2 = r2->next;
            16 
            17     while (p1 && p2)
            18     {
            19         if (p2->data < p1->data)
            20         {
            21             q1->next = p2;
            22             p2 = p2->next;
            23             q1->next->next = p1;
            24             q1 = q1->next;
            25         }
            26         else
            27         {
            28             p1 = p1->next;
            29             q1 = q1->next;
            30         }
            31     }
            32 
            33     if (!p1)
            34     {
            35         q1->next = p2;
            36     }
            37 
            38     free(r2);
            39     return r1;
            40 }

            r1和r2分別是兩個包含空頭節點的有序(從小到大)鏈表,要求合并兩個鏈表,返回合并后的鏈表頭。

            另外還有一個遞歸版本,考慮兩個無空頭節點的鏈表,代碼比較簡單:

             1 node *merge_list(node *first, node *second)
             2 {
             3     if (!first) return second;
             4     if (!second) return first;
             5 
             6     node *head;
             7     if (first->data < second->data)
             8     {
             9         head = first;
            10         head->next = merge_list(first->next, second);
            11     }
            12     else
            13     {
            14         head = second;
            15         head->next = merge_list(first, second->next);
            16     }
            17     return head;
            18 }
            19 
            posted on 2011-05-02 23:18 myjfm 閱讀(614) 評論(0)  編輯 收藏 引用 所屬分類: 算法基礎
            香蕉久久久久久狠狠色| 久久久久久久久久免免费精品| 久久国产色av免费看| 日本人妻丰满熟妇久久久久久| 久久久青草久久久青草| 中文字幕精品久久| 久久99国产乱子伦精品免费| 久久久久久A亚洲欧洲AV冫| 久久久久人妻精品一区二区三区 | 国产一级持黄大片99久久| 国产综合成人久久大片91| 蜜臀av性久久久久蜜臀aⅴ| 久久久久久久亚洲精品| 久久精品午夜一区二区福利| 亚洲精品无码久久不卡| 精品水蜜桃久久久久久久| 99久久99久久精品免费看蜜桃 | 久久国产午夜精品一区二区三区| 亚洲AV无码久久寂寞少妇| 色婷婷综合久久久久中文字幕| 久久se精品一区精品二区| 亚洲伊人久久精品影院| 久久www免费人成看片| 久久国产成人| 久久毛片免费看一区二区三区| 久久香蕉国产线看观看99| 国产三级久久久精品麻豆三级| 久久久久免费精品国产| 亚洲中文久久精品无码ww16 | 国产精品久久久天天影视香蕉| 丁香狠狠色婷婷久久综合| 久久精品天天中文字幕人妻 | 久久久久久国产精品美女| 国产午夜福利精品久久| 国产成人无码精品久久久免费| 国产99久久久国产精品~~牛| 久久精品国产精品亚洲精品| 蜜桃麻豆www久久| 久久精品人妻一区二区三区| 青春久久| 久久婷婷激情综合色综合俺也去|