Código
#include<iostream.h>
using namespace std;
struct nodo{
int numero;
struct nodo *siguiente;
};
typedef struct nodo *mapers;
void insertaralinicio(mapers &,int );
void imprimir(mapers &);
void intersectarlistas(mapers &,mapers &,mapers &);
void intersectarlistas(mapers &lista1,mapers &lista2,mapers &lista3)
{
mapers a=lista1,b=lista2,temporal;
if(lista1!=NULL && lista2!=NULL)
while(a->siguiente!=NULL)
if(a==b)
{
temporal=b;
a=a->siguiente;
}
while(b->siguiente!=NULL)
b=b->siguiente;
lista3=temporal;
}
void insertaralinicio(mapers &lista,int numero1)
{
mapers q;
q=new(struct nodo);
q->numero=numero1;
q->siguiente=lista;
lista=q;
}
void imprimir(mapers &lista)
{
while(lista!=NULL)
{
cout<<lista->numero<<endl;
lista=lista->siguiente;
}
}
int main ()
{
mapers lista1,lista2,lista3;
int i,k,n,numero1,numero2;
lista1=lista2=lista3=NULL;
cout<<"numero de elementos de la lista 1"<<endl;
cin>>k;
for(i=0;i<k;i++)
{
cout<<"ingrese elemento"<<endl;
cin>>numero1;
insertaralinicio(lista1,numero1);
}
cout<<"lista 1"<<endl;
imprimir(lista1);
cout<<"numero de elementos de la lista 2"<<endl;
cin>>n;
for(i=0;i<n;i++)
{
cout<<"ingrese elemento"<<endl;
cin>>numero2;
insertaralinicio(lista2,numero2);
}
cout<<"lista 2"<<endl;
imprimir(lista2);
cout<<"interseccion de listas "<<endl;
intersectarlistas(lista1,lista2,lista3);
imprimir(lista3);
system("pause");
}
uy no se que pasara algo hize mal pero lo plantie bien el algoritmo para calcular la interseccion de listas enlazadas ( xD )
EI: juntando mensajes.
que nop me piensan ayudar ........mira este es mi avance.....
Código
#include<iostream>
using namespace std;
struct nodo{
int numero;
struct nodo *siguiente;
};
typedef struct nodo *mapers;
void insertaralinicio(mapers &,int );
void imprimir(mapers &);
void intersectarlistas(mapers &,mapers &,mapers &);
void intersectarlistas(mapers &lista1,mapers &lista2,mapers &lista3)
{
mapers a=lista1,b=lista2,temporal;
if(lista1!=NULL && lista2!=NULL)
while(a->siguiente!=NULL)
if(a->numero == b->numero)
{
temporal = b;
a=a->siguiente;
}
while(b->siguiente!=NULL)
b=b->siguiente;
lista3=temporal;
}
void insertaralinicio(mapers &lista,int numero1)
{
mapers q;
q=new(struct nodo);
q->numero=numero1;
q->siguiente=lista;
lista=q;
}
void imprimir(mapers &lista)
{
while(lista!=NULL)
{
cout<<lista->numero<<endl;
lista=lista->siguiente;
}
}
int main ()
{
mapers lista1,lista2,lista3;
int i,k,n,numero1,numero2;
lista1=lista2=lista3=NULL;
cout<<"numero de elementos de la lista 1"<<endl;
cin>>k;
for(i=0;i<k;i++)
{
cout<<"ingrese elemento"<<endl;
cin>>numero1;
insertaralinicio(lista1,numero1);
}
cout<<"lista 1"<<endl;
imprimir(lista1);
cout<<"numero de elementos de la lista 2"<<endl;
cin>>n;
for(i=0;i<n;i++)
{
cout<<"ingrese elemento"<<endl;
cin>>numero2;
insertaralinicio(lista2,numero2);
}
cout<<"lista 2"<<endl;
imprimir(lista2);
cout<<"interseccion de listas "<<endl;
intersectarlistas(lista1,lista2,lista3);
imprimir(lista3);
system("pause");
}
pero igula no me da la intersecion de la lista............a ver en que estoy mal o k estoy haciendo mal










Autor


En línea


no dan ni ganas de leerlo 
