• <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)  編輯 收藏 引用 所屬分類: 算法基礎
            欧美性大战久久久久久| 亚洲精品无码久久久久去q| 日本久久久久久中文字幕| 日韩精品久久久久久| 久久久亚洲精品蜜桃臀| 一本色道久久HEZYO无码| 久久本道伊人久久| 久久精品成人欧美大片| 亚洲精品无码久久久久sm| 亚洲国产精品热久久| 欧美黑人激情性久久| 久久99热国产这有精品| 亚洲精品美女久久久久99小说| 久久精品天天中文字幕人妻| 久久人人超碰精品CAOPOREN| 97久久香蕉国产线看观看| 亚洲日本va午夜中文字幕久久| 久久国产精品成人片免费| 思思久久99热只有频精品66| 69国产成人综合久久精品| 久久精品一本到99热免费| 国产精品久久久99| 99久久精品日本一区二区免费| 久久久精品国产免大香伊 | 久久精品国产亚洲沈樵| 热99RE久久精品这里都是精品免费| 青青青青久久精品国产 | 曰曰摸天天摸人人看久久久| 伊人色综合久久天天网| 久久国产乱子伦精品免费午夜| 欧美777精品久久久久网| 激情伊人五月天久久综合| 99久久国产宗和精品1上映 | 亚洲国产精品久久久久网站| 国产Av激情久久无码天堂| 久久综合国产乱子伦精品免费| 国产精品中文久久久久久久| 四虎久久影院| 久久久久亚洲精品日久生情 | 国产精品久久久久AV福利动漫| 亚洲欧洲日产国码无码久久99|