Free Web Site - Free Web Space and Site Hosting - Web Hosting - Internet Store and Ecommerce Solution Provider - High Speed Internet
Search the Web

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