A와 B는리스트 (리스트 병합) 쇄 C로 병합
증가 및 B리스트 (null 이외), 두 목록을 병합 주문 알려진 두 가지의 목록 (주문 단위 포함) C 목록, 우리는 목록의 개념의 몇 가지 이해가 필요
노드에 필요한 조건 노드 사이의 관계가 사네 설정합니다.
이 질문의 초점은, 관심을 지불 할 필요가 특정 목록을 다루는, 즉 두 개의 목록이 오래하지 않을 수 있습니다 두 목록의 길이를 지정, 그렇게하지 않았다된다
동작은 나머지 부분에 직접 C들을 나열 다른 체인에 접속 될 수 있고, 완료된다.
. 1 공극 병합 (LNode * A, * B LNode, LNode의 *의 C) 2 { 3. LNode * P = A-> 다음; // P 최소 추적 노드 4. LNode B- * Q => 다음; / / Q B 최소 추적 노드 5. LNode * & lt; 화학식 //이 커서 C 쇄 등의 포인터를 정의한다 (6). C는 A =; // C 제 노드 점의 목록 7. C-> 다음 = NULL; / / 이 필요하기 때문에 다음과 같은 두 가지를 제거 할 수있는 실행을 8. 무료 (B); // 해제 B 헤드 노드 . 9 R & LT = C; // 헤드 노드 C에 대한 포인터 10 그동안(! = NULL && P Q = NULL) // 두리스트 마지막에 도달하지 않는 경우 (11). { 12 인 경우 (P-> 데이터 <Q- => 데이터) (13)가 { 14 R-> 다음 = P, 15 P P - => 다음으로, (16) R & LT = R-> 다음] . 17 } 18은 다른 { 19. R-> 다음 = Q; 20이고 Q = Q-> 다음으로, 21은 & LT = R-> R , 다음 (22)가 } 23이다 } 24 R- > 다음 = NULL; // 마지막 C 빈리스트의 다음 포인터 포인트 (25) (26)는 IF (P! = NULL) { 27 R-> 다음 = P, 28 } 29 IF (Q! = NULL) 30 R-> 다음 = Q; 31이다 }