已知两个链表head1 和head2 各自有序,请把 它们合并成一个链表依然有序。(保留所有结点,即 便大小相同)
Node * MergeRecursive(Node *head1 , Node *head2) { if ( head1 == NULL ) return head2 ; if ( head2 == NULL) return head1 ; Node *head = NULL ; if ( head1->data < head2->data ) { head = head1 ; head->next = MergeRecursive(head1->next,head2); ...
if ( head2 == NULL) return head1 ; Node *head = NULL ; Node *p1 = NULL; Node *p2 = NULL; if ( head1->data < head2->data ) { head = head1 ; p1 = head1->next; p2 = head2 ; } else { head = head2 ; p2 = head2->next ; p1 = head1 ; } Node *pcurrent = hea...
Node * MergeRecursive(Node *head1 , Node *head2) { if ( head1 == NULL ) return head2 ; if ( head2 == NULL) return head1 ; Node *head = NULL ; if ( head1->data < head2->data ) { head = head1 ; head->next = MergeRecursive(head1->next,head2); } else { head = h...
【答案】:Node * Merge(Node *head1 , Node *head2){ if ( head1 == NULL)return head2 ;if ( head2 == NULL)return head1 ;Node *head = NULL ;Node *p1 = NULL;Node *p2 = NULL;if ( head1->data < head2->data ){ head = head1 ;p1 = head1->next;p2 = head2 ...
(3)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,这次要求用递归方法进行。 (Autodesk)答案 答案: Node * MergeRecursive(Node *head1 , Node *head2) { if ( head1 == NULL ) return head2 ; if ( head2 == NULL) return head1 ; Node *head ...
string(1) strcat(1) NTFS(1) 工具(1) 随笔分类 AS3(2) C++(13) C++类型转换(9) CEGUI(1) cocos2d(1) Decode(1) doxygen(1) eclipse(5) Encode(1) English(5) Error(5) FTP(1) ICE(1) iphone(2) LinEvent(1) 更多 随笔档案 2020年12月(4) ...
head = head2 ; p2 = head2->next ; p1 = head1 ; } Node *pcurrent = head ; while ( p1 != NULL && p2 != NULL) { if ( p1->data <= p2->data ) { pcurrent->next = p1 ; pcurrent = p1 ; p1 = p1->next ; }
递归比较两个链表的头部 <span style="font-size:18px;">#include <iostream> #include <string.h> struct node { int data; node *next; }; node *MergeRecursive(node *head1, node *head2) { node *head = NULL; if (head1 == NULL) ...