C/Visual C - ayuda con este ejercicio en c++

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 7 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

ayuda con este ejercicio en c++

Publicado por Cami (1 intervención) el 15/05/2020 23:49:26
PRE CONDICIÓN: Recibe dos listas simplemente encadenadas, ambas ordenadas en orden creciente
POS CONDICIÓN: Retorna una nueva lista con todos los elementos de l1 y l2, incluyendo repetidos, ordenados en orden creciente.
La lista retornada no puede compartir memoria con las listas recibidas, y estas no pueden ser modificadas.
La funcion no debe recorrer l1 o l2 mas de una vez, y la lista resultado no debera recorrerse
El ejercicio se deberá resolver de forma iterativa.

Ejemplo
Entrada: (((1,3,5,7,9,9), (2,2,4,6,8))
Salida: (1,2,2,3,4,5,6,7,8,9,9)
*/
NodoLista* intercalarIter(NodoLista* l1, NodoLista* l2);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil
Val: 89
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

ayuda con este ejercicio en c++

Publicado por Bruno (38 intervenciones) el 17/05/2020 02:24:46
Hola. Creo que este pseudocódigo puede ayudarte.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
node1 = root1;
node2 = root2;
 
while node1 != 0 || node2 != 0 do
    if node1 != 0 then
        if node2 != 0 then
            if node1->nro < node2->nro then
                add_node (node1)
                node1 = node1-> next
            else
                add_node (node2)
                node2 = node2->next
        else
            add_node (node1)
            node1 = node1->next
    else
        add_node (node2)
        node2 = node2->next

Seguro que se puede mejorar. Espero te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con este ejercicio en c++

Publicado por Eduardo Salinas (1 intervención) el 13/07/2020 16:09:37
Lo que tienes que hacer no es tan complicado
crear una lista auxiliar
Luego leer los datos de la lista 1 e insertarlos en la lista auxiliar. Hacer lo mismo con la lista 2.
Luego ordenar los datos recibidos.
Crear la lista enlazada que va a recibir los datos constante y así no podrá ser modificada Al crearla le insertas los datos de la lista auxiliar.
Osea la lista enlazada tiene que ser definida como constante.
( la biblioteca estándar de plantillas (STL) tiene algoritmos muy eficientes para ordenar los datos.)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar