RomeroFuentes S18
RomeroFuentes S18
RomeroFuentes S18
PRACTICA # 3
OBJETIVO: • Conocer y Analizar las operaciones insertar, eliminar y recorrer de una lista
• Analizar los algoritmos en el manejo de datos de las listas abiertas
En los incisos identificar los pasos del cada algoritmo de la presentación contra el código, ejecutar paso a
paso e indicando los valores de las variables.
for(i=1;i<=5;i++)
scanf("%i",&valor);
Insertar(&lista,valor); //LLamado a a función lista, con la direccion de memoria del apuntador lista
void Insertar(Lista*lista,int v)
pNodo nuevo,anterior;
if(ListaVacia(*lista)||(*lista)->valor>v){
else
anterior=*lista;
while(anterior->siguiente&&anterior->siguiente->valor <=v)
anterior = anterior->siguiente;
nuevo->siguiente=anterior->siguiente;
anterior->siguiente=nuevo;
Borrar(&lista, valor);
FIN DE SEGMENTO DENTRO DEL MAIN
void Borrar(Lista *lista, int v)
{
pNodo anterior, nodo;
nodo = *lista;
anterior = NULL;
while(nodo && nodo->valor < v) {
anterior = nodo;
nodo = nodo->siguiente;
}
if(!nodo || nodo->valor != v) return;
else {
if(!anterior)
*lista = nodo->siguiente;
else
anterior->siguiente = nodo->siguiente;
free(nodo);
}
}
Ejercicio # 7 Modificar el programa para que el nodo almacene dos datos un entero y un flotante, y que
muestre un menú donde se pregunte si se quiere insertar, eliminar o mostrar, y que regrese al menú