As duas listas ordenadas em uma nova lista ordenada e retorno. A nova lista é por todos os nós em um determinado mosaico composto de duas listas.

/ * 
As duas listas ordenadas em uma nova lista ordenada e retorno. A nova lista é por todos os nós em um determinado mosaico composto de duas listas. 
* / 
#Include <stdio.h> 
#include <malloc.h> 
#include < string .h> 
#include <stdlib.h> 
#include <math.h> 
#include < string .h> 
#include <o iostream> 
typedef struct Node {
     int dados;
     struct Node * Avançar; 
} LinkList; 
vazio impressão (LinkList * L) { 
    LinkList * = L-P> Em seguida,
     o tempo (P) { 
        printf ( "% d "p-> dados); 
        p = p-> próxima; 
    } 
    printf ( " \ n " ); 
} 
vazio criar (LinkList * & G, int str [], int n) { 
    LinkList * r, * s; 
    L = (LinkList *) malloc ( sizeof (LinkList)); 
    R = G;
     int i;
     para (i = 0 ; i <n; i ++ ) { 
        s = (LinkList *) malloc ( sizeof (LinkList)); 
        s - > = dados str [i];
        r-> next = s; 
        r = s; 
    } 
    R -> next = NULL; 
} 
Vazio un (LinkList * & G, LinkList * LA, LinkList * LB) { 
    G = (LinkList *) malloc ( sizeof (LinkList)); 
    LinkList * aa = LA-> próxima, * pb = LB-> próxima, * r = L, * s;
    enquanto (pa && pb) {
         se (pa-> dados <PB-> dados) { 
            s = (LinkList *) malloc ( sizeof (LinkList)); 
            s -> Dados = tros> dados; 
            r -> próximos = s; 
            r= s;s; 
            pa = pa-> próxima; 
        } Else { 
            s = (LinkList *) malloc ( sizeof (LinkList)); 
            s -> Dados = PB-> dados; 
            r -> próximos = s; 
            r = s; 
            pb = PB-> próxima; 
        } 
    } 
    Enquanto (aa) { 
        s = (LinkList *) malloc ( sizeof (LinkList)); 
        s -> Dados = tros> dados; 
        r -> próximos = s; 
        r =
        pa = pa-> próxima; 
    } 
    Enquanto (pb) { 
        s = (LinkList *) malloc ( sizeof (LinkList)); 
        s -> Dados = PB-> dados; 
        r -> próximos = s; 
        r = s; 
        pb = PB-> próxima; 
    } 
    R -> next = NULL; 


} 
Int main () 
{ 
    LinkList * L, LA *, * LB;
    int i, lena, LenB; 
    scanf ( " % d " , & lena);
    int NUMA [lena];
    para(i = 0 ; i <lena; i ++ ) { 
        scanf ( " % d " , & NUMA [i]); 
    } 
    Criar (LA, numa, lena); 

    scanf ( " % d " , & LenB);
    int dormente [LenB];
    para (i = 0 ; i <LenB; i ++ ) { 
        scanf ( " % d " , & dormente [i]); 
    } 
    Criar (LB, dormentes, LenB); 

    un (L, LA, LB); 


    imprimir (G); 
    retornar  0 ; 
}

 

Acho que você gosta

Origin www.cnblogs.com/zhaohuan1996/p/12545172.html
Recomendado
Clasificación