martes, 24 de julio de 2012

Lista de Busqueda


#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void alex(void);
typedef struct ns
{
int data;
struct ns*sig;
}nodo;
nodo*list_add(nodo**p,int i)
{
nodo*n=(nodo*)malloc(sizeof(nodo));
if (n==NULL)
return NULL;
n->sig=*p;
*p=n;
n->data=i;
return n;
}

void list_remove(nodo**p)
{if(*p!=NULL)
{
nodo*n=*p;
*p=(*p)->sig;
free(n);
}
}

nodo **list_search(nodo **n,int i)
{
while(*n!=NULL)
{
if((*n)->data==i)
{
printf("\n El Dato Encontrado es: %d \n",(*n)->data);
return n;
}
n=&(*n)->sig;
}
printf("\nDato no Encontrado\n\n");
return NULL;
}
void list_print(nodo *n)
{
if(n==NULL)
{
printf("\nLista Vacia\n");
}
while (n!=NULL)
{
printf("%d\n",n->data);
n=n->sig;
}
}
int main(void){
    alex();
int gua=0, i, num=0;
nodo*n=NULL;
printf("Teclea Cuantos Valores Quieres\n");
scanf("%d", &gua);
for (i=0; i<gua; i++)
{
   printf("Teclea los valores\n");
    scanf("%d", &num);
    list_add(&n,num);
}

printf("\nDato Para Buscar:  ");
scanf("%d",&num);
list_search(&n,num);
list_print(n);
for(i=0;i<num;i++)
list_remove(&n);
list_print(n);
getch();
return 0;
}
    void alex(void)
{
     printf("Alejandro Gonzalez Arteaga\n");
     printf("Grupo: 110352\tMatricula:1311120069\n");
     printf("Informatica\n\n");
     }

No hay comentarios:

Publicar un comentario