Ejercicio Listas
Publicado por Jonathan (10 intervenciones) el 21/06/2017 19:10:45
Hola a todos, tengo una gran duda por favor vean he tenido muchos problemas para resolver el siguiente ejercicio:
Realizar un metodo para intercambiar dos listas enlazadas, ejemplo si la lista 1 es = 1,2,3 y la lista 2= 4,5,6 entonces la lista 1 tendria se intercambian los elementos: tengo el siguiente codigo que hice pero dado 2 nodos especificos pero necesito uno que me haga con todos los elementos por favor:
Realizar un metodo para intercambiar dos listas enlazadas, ejemplo si la lista 1 es = 1,2,3 y la lista 2= 4,5,6 entonces la lista 1 tendria se intercambian los elementos: tengo el siguiente codigo que hice pero dado 2 nodos especificos pero necesito uno que me haga con todos los elementos por favor:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void swapnodes(Pnodo ref ,int x , int y )
{ Pnodo *prevx= Null, *currx=*red
while(currx && currx->info!=x)
{ prevx=currx;
currx=currx->sig;
}
Pnodo*prevx=Null, *curry=*ref
while(curry && curry *info!=y)
{ prevy=curry;
curry=curry->sig;
}
//si x no esta al principio de la lista
if(prevx!=Null)
prevx->sig=curry;
else //sino hace y como elem de cabecera
*ref=curry
//si y no esta al principio
if(prevy!=Null)
{ prevy->sig=curry;
*ref=curry;
//intercambio de punteros;
Pnodo * temp=curry->sig;
curry->sig=currx->sig;
currx->sig=temp
}
Valora esta pregunta
0