Programas en Listas y arreglos
Implementar un método que recibe una lista enlazada de enteros L y un número entero n de forma que modifique la lista mediante el borrado de todos loselementos de la lista que tengan este valor.
void BorrarValor(Lista L,int n)
{
int aux;
posicion p;
for(p=PrimeroLista(L);p!=FinLista(L);)
{
Recuperar(&aux,p,L);
if (aux==n)
BorrarElemento(p,L);
else p=Siguiente(p,L);
}
Problema N° 2
Escribir un método para Reemplazar que tengacomo argumentos una lista enlazada con tipo de elemento int y dos valores int: nuevo y viejo de forma que si el segundo valor aparece en algún lugar de la pila, seareemplazado por el segundo.
void Reemplazar(pila P,int nuevo,int viejo)
{
pila Q;
int aux;
Q=CrearPila(sizeof(int));
while (!VaciaPila(P))
{
Tope(&aux,P);
if (aux==viejo)
Push(&nuevo,Q);
else Push(&aux,Q);
Pop(P);
}
while(!VaciaPila(Q))
{
Tope(&aux,Q);
Pop(Q);
Push(&aux,P);
}
DestruirPila(Q);
Problema N° 3
Implementar una programa Mezcla2 que tenga como parámetros dos listas enlazadas de enteros ordenados de menor amayor y que devuelva una nueva lista como unión de ambas con sus elementos ordenados de la misma forma.
Lista Mezcla2(Lista l1,Lista l2)
{
Lista L;
Posicionp1,p2;
int aux1,aux2;
L=CrearLista(sizeof(int));
p1=PrimeroLista(l1);
p2=PrimeroLista(l2);
while (p!=FinLista(l1)&& p2!=FinLista(l2))
{
Recuperar(&aux1,p1,l1);
Recuperar(&aux2,p2,l2);
if (aux1 < aux2)
{
p1=Siguiente(p1,l1);
Insertar(&aux1,FinLista(L),L);
}
else
{
Regístrate para leer el documento completo.