久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      C語言怎么合并兩個(gè)有序鏈表

      C語言合并兩個(gè)有序鏈表的方法:拼接指定的兩個(gè)有序鏈表的所有節(jié)點(diǎn)即可。例如兩個(gè)有序鏈表分別為【1->2->4】和【1->3->4】,合并后的有序鏈表為【1->1->2->3->4->4】。

      C語言怎么合并兩個(gè)有序鏈表

      具體方法:

      將兩個(gè)有序鏈表合并為一個(gè)新的有序鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。

      (視頻教程推薦:java課程)

      輸入:

      1->2->4, 1->3->4

      輸出:

      1->1->2->3->4->4

      分析:兩個(gè)鏈表為有序鏈表,所以依次遍歷兩個(gè)鏈表比較大小即可。

      代碼實(shí)現(xiàn):

      /**  * Definition for singly-linked list.  * struct ListNode {  *     int val;  *     struct ListNode *next;  * };  */   struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){     if(l1==NULL){         return l2;     }     if(l2==NULL){         return l1;     }     struct ListNode *l = (struct ListNode*)malloc(sizeof(struct ListNode));     l->next = NULL;     struct ListNode *list1 = l1;     struct ListNode *list2 = l2;     if(l1->val<l2->val){         l->val=l1->val;         if(list1->next==NULL){             l->next=list2;             return l;         }         list1=list1->next;     }else{         l->val=l2->val;         if(list2->next==NULL){             l->next=list1;             return l;         }         list2=list2->next;     }     struct ListNode *list = l;     while(list1->next!=NULL&&list2->next!=NULL){         if(list1->val<=list2->val){             struct ListNode *body = (struct ListNode *)malloc(sizeof(struct ListNode));             body->val = list1->val;             body->next = NULL;             list->next = body;             list = list->next;             list1 = list1->next;         }else{             struct ListNode *body = (struct ListNode*)malloc(sizeof(struct ListNode));             body->val=list2->val;             body->next=NULL;             list->next=body;             list=list->next;             list2=list2->next;         }     }     if(list1->next==NULL){         while(list2->next!=NULL){             if(list1->val<=list2->val){                 list->next = list1;                 list = list->next;                 list->next=list2;                 return l;             }else{                 struct ListNode *body = (struct ListNode*)malloc(sizeof(struct ListNode));                 body->val=list2->val;                 body->next=NULL;                 list->next=body;                 list=list->next;                 list2=list2->next;             }         }     }else{         while(list1->next!=NULL){             if(list2->val<=list1->val){                 list->next=list2;                 list=list->next;                 list->next=list1;                 return l;             }else{                 struct ListNode *body = (struct ListNode*)malloc(sizeof(struct ListNode));                 body->val=list1->val;                 body->next=NULL;                 list->next=body;                 list=list->next;                 list1=list1->next;             }         }     }     if(list1->next==NULL&&list2->next==NULL){         if(list1->val<=list2->val){             list->next = list1;             list=list->next;             list->next=list2;         }else{             list->next=list2;             list=list->next;             list->next=list1;         }     }        return l; }

      圖文教程分享:java入門

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號