• <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 閱讀(620) 評論(0)  編輯 收藏 引用 所屬分類: 算法基礎
            亚洲国产另类久久久精品黑人| 久久久亚洲欧洲日产国码aⅴ | 亚洲AV无码1区2区久久| 亚洲国产成人精品女人久久久| 伊人精品久久久久7777| 思思久久好好热精品国产| 欧美精品国产综合久久| 久久久久人妻精品一区| 国产福利电影一区二区三区,免费久久久久久久精 | 久久精品卫校国产小美女| 亚洲中文久久精品无码ww16 | 久久99精品久久久久久不卡| 欧美性大战久久久久久| 久久天天躁狠狠躁夜夜躁2O2O| 色综合久久中文综合网| 久久伊人五月丁香狠狠色| 77777亚洲午夜久久多喷| 久久无码精品一区二区三区| 久久午夜伦鲁片免费无码| 久久精品亚洲福利| 72种姿势欧美久久久久大黄蕉| 国内精品久久久久久不卡影院| 亚洲中文精品久久久久久不卡| 国产高清美女一级a毛片久久w | 无码乱码观看精品久久| 久久91亚洲人成电影网站| 日日狠狠久久偷偷色综合免费 | 嫩草伊人久久精品少妇AV| 国内精品久久久久久久久电影网 | 久久综合五月丁香久久激情| 久久精品无码一区二区三区| 日韩AV无码久久一区二区| 久久人人爽人人人人爽AV| 久久久免费观成人影院| 狠狠精品干练久久久无码中文字幕| 亚洲国产精品18久久久久久| 久久婷婷是五月综合色狠狠| 久久九九免费高清视频| 精品乱码久久久久久夜夜嗨| 曰曰摸天天摸人人看久久久| 久久中文娱乐网|