Red de conocimiento informático - Conocimiento informático - Se sabe que dos listas enlazadas individualmente ordenadas incrementalmente A y B almacenan un conjunto respectivamente. Diseñe un programa para implementar la operación de intersección A = A∩B de los dos conjuntos.

Se sabe que dos listas enlazadas individualmente ordenadas incrementalmente A y B almacenan un conjunto respectivamente. Diseñe un programa para implementar la operación de intersección A = A∩B de los dos conjuntos.

//Pseudocódigo

struct?node?*pA?=?pListAHead;?//Lista ordenada A 

struct?node?*pB =? pListBHead;?//Lista ordenada B

struct?node?*pCHad?=?NULL;?//El encabezado de intersección de A y B

struct?node?*pCEnd ? =?NULL;?//El final de la intersección de A y B

mientras?(pA?!=?NULL?&&?pB?!=?NULL)

{ if?( pA->value?==?pB->value) {

//Igual y retrocedido al mismo tiempo

if?(pCEnd?==?NULL )

{ pCHead?=?new?node(); pCHead->valor?=?pA->valor; pCHead->siguiente?=?NULL;

}

else

{ pCEnd->siguiente?=?new?node(); pCEnd?=?pCEnd->siguiente; ; pCEnd->valor? =?pA->valor;

}

pA?=?pA->siguiente;

pB?=?pB- >next;

continue; } else?if?(pA->value?>?pB->value) {

//En comparación con el más pequeño, ¿B es más pequeño? B se mueve hacia atrás

pB?=?pB->next;

continue; } else {

//En comparación con el más pequeño, ¿A es más pequeño? A retrocede

pA?=?pA->siguiente }

}