Ejercicios Resueltos Listas Simples - Parte 1.pdf

Ejercicios Resueltos Listas Simples - Parte 1. 1. Analizar e indicar el objetivo de la función, sabiendo que DATO es ti

Views 81 Downloads 0 File size 109KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Ejercicios Resueltos Listas Simples - Parte 1.

1. Analizar e indicar el objetivo de la función, sabiendo que DATO es tipo int y los datos leídos por teclado corresponden a la secuencia 3, 32, 25, 1. void FX(ptNODO &Lista, DATO X) { ptNODO A=NULL,N,B=Lista; N=new(tipo_nodo); N->Info=X; N->Sig=NULL; if(Lista==NULL) Lista=N; else { while(X>=B->Info && B->Sig!=NULL) { A=B; B=B->Sig; } if(X >= B->Info) A=B; if(A==NULL) { N->Sig=Lista; Lista=N; } else { N->Sig=A->Sig; A->Sig=N; } } } 2. Se usa una lista para almacenar un polinomio de orden "n": a0*X0 + a1*X1 + a2*X2 + a3*X3 + … + an*Xn Cada nodo contiene un término del polinomio

Desarrolle un programa que permita leer los datos del polinomio, almacenarlos en una lista enlazada y evaluar el polinomio para un valor de X leído por teclado. struct datos { int coef; int expo; }; typedef datos DATO; struct NODO

{

DATO Info; NODO * Sig;

}; typedef NODO* ptNODO; // Procedimiento Insertar Ordenado según el Exponente del Término void INSERTAR_ORD(ptNODO &L, DATO X) { ptNODO A=NULL,N,B=L; N=new(tipo_nodo); N->Info=X; N->Sig=NULL; if(L==NULL) L=N; else { while(X.expo>=B->Info.expo && B->Sig!=NULL) { A=B; B=B->Sig; } if(X.expo>=B->Info.expo) A=B; if(A==NULL) { N->Sig=L; L=N; } else { N->Sig=A->Sig; A->Sig=N; } } } // Procedimiento Mostrar Polinomio void MOSTRAR_POL(ptNODO Lis) { ptNODO P; P=Lis; cout