Se sabe que dos listas de secuencias A y B representan dos conjuntos cuyos elementos están ordenados en orden ascendente Escribe una función para encontrar la intersección de A y B.
LinkList *LinkMag(LinkList *ha, LinkList *hb)//asumiendo que ha y hb son listas enlazadas con nodos principales
{
Link *p, *q, *r, *hc, *aa;
hc-gt; head = (Enlace*) malloc(sizeof(Enlace));
p = ha-gt; siguiente;
q = hb-gt; siguiente
r = hc
mientras (p!=NULL amp; amp; q!=NULL)
{ aa = (Link*) )malloc(sizeof(Link));
if(p-gt; datalt; q-gt; data)//Si es una intersección , no hay transferencia de datos, solo movimiento del puntero, es decir, simplemente ejecute p=p-gt;
{ aa-gt; p-gt; > p = p-gt; next;
}
else/// Si es una intersección, también debes determinar la situación de igualdad y solo pasarla si es igual. datos, y el caso mayor que es similar al caso menor que, excepto que el puntero se mueve.
{ aa-gt; datos = q-gt;
q = q-gt;
}
r-gt; siguiente = aa;
r = aa
}
mientras(p!=NULL)
{ aa = (Enlace*)malloc(tamañode(Enlace));
aa-gt; data = p-gt;data;
p = p-gt;siguiente;
r-gt; siguiente = aa;
r = aa
}
mientras(q!=NULL)
<; p> { aa = (Enlace*)malloc(sizeof(Enlace));aa-gt; datos = q-gt;
q = q-gt; ;
r-gt; siguiente = aa;
r-gt; siguiente = aa;
r-gt; siguiente=NULL;
return hc;