Programa de prueba
Se creara un programa que manipule una lista de elementos enteros.
#include<stdio.h>
#include<stdlib.h>
/* definicion del tipo de elementos de la lista */
typedef int TipoL;
/* Se llama al archivo que contiene las funciones del TAD */
#include "tadlista.h"
/* funcion que imprime los elementos de la lista */
void imprimirLista(Lista lst)
{
for(primLista(lst); !finLista(lst);sigLista(lst))
printf(" %d ",infoLista(lst));
}
/* función (especifica) de comparación para elementos de tipo int.
Es usada especialmente para el proceso de busqueda de un elemento
en la lista.
*/
int comparacion(int a,int b)
{
return a == b;
}
/* funcion que busca en la lista, el primer elemento "elem".
Como parametro recibe la lista, el elemento a buscar y una
función de comparacion para el tipo de elemento.
*/
void buscarLista(Lista lst,TipoL elem,int (*comp)(TipoL,TipoL))
{
primLista(lst);
for( ; !finLista(lst) && !comp(infoLista(lst),elem) ; )
{
sigLista(lst);
}
}
int main()
{
Lista lst = NULL;
lst = inicLista();
anxLista(lst,4);
anxLista(lst,6);
anxLista(lst,8);
anxLista(lst,10);
printf("\n\n Lista : ");
imprimirLista(lst);
printf("\n");
printf("\n* Buscando el elemento 8");
buscarLista(lst,8,comparacion);
if (!finLista(lst))
printf("\n* ENCONTRADO! -> Info Ventana : %d ",infoLista(lst));
else
printf("\n* 8 no esta en la lista");
printf("\n* Posicionando al principio de la lista");
primLista(lst);
printf("\n* Eliminando el primer elemento");
elimLista(lst);
printf("\n\n Lista : ");
imprimirLista(lst);
printf("\n");
if (finLista(lst))
printf("\n* INFO : Despues de imprimir : lst->ventana = NULL");
printf("\n* Posicionando al principio de la lista");
primLista(lst);
printf("\n* Avanzando una posicion con la funcion sigLista() ");
sigLista(lst);
printf("\n* Info Ventana : %d ",infoLista(lst));
printf("\n* Eliminando este elemento");
elimLista(lst);
printf("\n\n Lista : ");
imprimirLista(lst);
printf("\n");
printf("\n* Posicionando al final de la lista");
ultLista(lst);
printf("\n* Info Ventana : %d ",infoLista(lst));
printf("\n* Eliminando este elemento");
elimLista(lst);
printf("\n\n Lista : ");
imprimirLista(lst);
printf("\n");
printf("\n* Destruyendo Lista");
destruirLista(lst);
return 0;
}
Bajar archivo
Salida del programa