Preguntas sobre programación de estructuras de datos. Supongamos que hay dos listas lineales organizadas en orden creciente de valores de elementos, ambas almacenadas en forma de listas enlazadas individualmente. Por favor escriba un algoritmo que suponga que hay dos
struct?Node?*MergeDescendLink(struct?Node?*head1, ?struct?Node?*head2)
{
struct?Node?*head =NULL;
si?(head1-gt;data?lt;?head2-gt;data)
{
head?=?head1; /p>
cabeza1?=?cabeza1-gt;siguiente;
}
else
{
cabeza?= ?head2;
head2?=?head2-gt;next; } head-gt;next?=?NULL;
struct?Node?*pTemp?=?NULL;
mientras?(?head1!=NULL?amp;amp;?head2!=NULL)
{
si?(head1-gt;data?lt ;?head2-gt;data)
{
pTemp?=?head1;
head1?=?head1-gt;siguiente;
}
else
{
pTemp?=?head2;
head2?=?head2-gt;next;
}
pTemp-gt; siguiente?=?cabeza;
cabeza?=?pTemp } if?(cabeza1?!=?NULL) {
? while(head1!=NULL)
?{ pTemp?=?head1;
?head1?=?head1-gt;siguiente; p> p>
?pTemp-gt; siguiente?=?cabeza;
?cabeza?=?pTemp;
}
} p>
si?(cabeza2?!=?NULL)
{
mientras(cabeza2!=NULL)
{
pTemp?=?head2;
head2?=?head2-gt;siguiente;
pTemp-gt;siguiente?=?head;
cabezal ?= ?pTemp;
}
}
retorno?head;
}