//ejercicio1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct nodo{
int numero;
char nombre[30];
char email[50];
int rut;
struct nodo *siguiente;
};
typedef struct nodo _nodo;
_nodo *crearLista(_nodo *apuntador)
{
apuntador = NULL;
return apuntador;
}
_nodo *addNodo(int numero, char nombre[],char email[],int rut, _nodo *apuntador)
{
_nodo *nodoNuevo;
nodoNuevo = (_nodo *)malloc(sizeof(_nodo));
nodoNuevo->numero = numero;
strcpy(nodoNuevo->nombre, nombre);
strcpy(nodoNuevo->email, email);
nodoNuevo->rut=rut;
nodoNuevo->siguiente = NULL;
if (apuntador == NULL){
apuntador = nodoNuevo;
} else{
_nodo *apuntadorAuxiliar;
apuntadorAuxiliar = apuntador;
while (apuntadorAuxiliar->siguiente != NULL){
apuntadorAuxiliar = apuntadorAuxiliar->siguiente;
}
apuntadorAuxiliar->siguiente = nodoNuevo;
}
return apuntador;
}
void showList(_nodo *apuntador)
{
_nodo *nodoAuxiliar;
nodoAuxiliar = apuntador;
while (nodoAuxiliar != NULL){
printf("Numero de atender es : %d n", nodoAuxiliar->numero);
printf("nombre :%s n", nodoAuxiliar->nombre);
printf("email :%s n", nodoAuxiliar->email);
printf("rut :%d n", nodoAuxiliar->rut);
printf("n");
nodoAuxiliar = nodoAuxiliar->siguiente;
}
}
int main(void)
{
_nodo *apuntador;
apuntador = crearLista(apuntador);
apuntador = addNodo(1,"Juan rojas","juan@gmail.com",345678901, apuntador);
apuntador = addNodo(2,"pedro guerrero","pedro@hotmail",9876543, apuntador);
showList(apuntador);
return 0;
}
//ejercicio 2
#include<stdlib.h>
#include<stdio.h>
struct dns {
int dato;
struct dns * der, * izq;
};
typedef struct dns nodo;
int contador ;
void insertar(nodo ** arbol,long val)
{
nodo *temp = NULL;
if(!(*arbol))
{
temp = (nodo *)malloc(sizeof(nodo));
temp->izq = temp->der = NULL;
temp->dato = val;
*arbol = temp;
return;
}
if(val < (*arbol)->dato)
{
insertar(&(*arbol)->izq, val);
}
else if(val > (*arbol)->dato)
{
insertar(&(*arbol)->der, val);
}
}
nodo* buscar(nodo ** arbol, int val)
{
if(!(*arbol))
{
return NULL;
}
if(val < (*arbol)->dato)
{
buscar(&((*arbol)->izq), val);
}
else if(val > (*arbol)->dato)
{
buscar(&((*arbol)->der), val);
}
else if(val == (*arbol)->dato)
{
return *arbol;
}
}
void main()
{
nodo *raiz;
nodo *tmp;
int contador;
raiz = NULL;
insertar(&raiz, 1987362);
insertar(&raiz, 1926546);
insertar(&raiz, 1984832);
insertar(&raiz, 1903728);
insertar(&raiz, 1999999);
insertar(&raiz, 1888888);
insertar(&raiz, 1142378);
insertar(&raiz, 1162732);
tmp = buscar(&raiz,1162732);
if (tmp)
{
printf("Busqueda de ip es igual a =%dn", tmp->dato);
}
else
{
printf("Informacion no encontrada en arbol.n");
}
}

Luciano guerrero

  • 1.
    //ejercicio1 #include <stdio.h> #include <stdlib.h> #include<string.h> struct nodo{ int numero; char nombre[30]; char email[50]; int rut; struct nodo *siguiente; }; typedef struct nodo _nodo; _nodo *crearLista(_nodo *apuntador) { apuntador = NULL; return apuntador; } _nodo *addNodo(int numero, char nombre[],char email[],int rut, _nodo *apuntador) { _nodo *nodoNuevo; nodoNuevo = (_nodo *)malloc(sizeof(_nodo)); nodoNuevo->numero = numero; strcpy(nodoNuevo->nombre, nombre); strcpy(nodoNuevo->email, email); nodoNuevo->rut=rut; nodoNuevo->siguiente = NULL; if (apuntador == NULL){ apuntador = nodoNuevo; } else{ _nodo *apuntadorAuxiliar; apuntadorAuxiliar = apuntador; while (apuntadorAuxiliar->siguiente != NULL){ apuntadorAuxiliar = apuntadorAuxiliar->siguiente; } apuntadorAuxiliar->siguiente = nodoNuevo; } return apuntador; } void showList(_nodo *apuntador) { _nodo *nodoAuxiliar; nodoAuxiliar = apuntador; while (nodoAuxiliar != NULL){ printf("Numero de atender es : %d n", nodoAuxiliar->numero); printf("nombre :%s n", nodoAuxiliar->nombre); printf("email :%s n", nodoAuxiliar->email); printf("rut :%d n", nodoAuxiliar->rut); printf("n"); nodoAuxiliar = nodoAuxiliar->siguiente; } }
  • 2.
    int main(void) { _nodo *apuntador; apuntador= crearLista(apuntador); apuntador = addNodo(1,"Juan rojas","juan@gmail.com",345678901, apuntador); apuntador = addNodo(2,"pedro guerrero","pedro@hotmail",9876543, apuntador); showList(apuntador); return 0; } //ejercicio 2 #include<stdlib.h> #include<stdio.h> struct dns { int dato; struct dns * der, * izq; }; typedef struct dns nodo; int contador ; void insertar(nodo ** arbol,long val) { nodo *temp = NULL; if(!(*arbol)) { temp = (nodo *)malloc(sizeof(nodo)); temp->izq = temp->der = NULL; temp->dato = val; *arbol = temp; return; } if(val < (*arbol)->dato) { insertar(&(*arbol)->izq, val); } else if(val > (*arbol)->dato) { insertar(&(*arbol)->der, val); } } nodo* buscar(nodo ** arbol, int val) { if(!(*arbol)) { return NULL; } if(val < (*arbol)->dato) { buscar(&((*arbol)->izq), val); } else if(val > (*arbol)->dato) { buscar(&((*arbol)->der), val); } else if(val == (*arbol)->dato) { return *arbol; } } void main()
  • 3.
    { nodo *raiz; nodo *tmp; intcontador; raiz = NULL; insertar(&raiz, 1987362); insertar(&raiz, 1926546); insertar(&raiz, 1984832); insertar(&raiz, 1903728); insertar(&raiz, 1999999); insertar(&raiz, 1888888); insertar(&raiz, 1142378); insertar(&raiz, 1162732); tmp = buscar(&raiz,1162732); if (tmp) { printf("Busqueda de ip es igual a =%dn", tmp->dato); } else { printf("Informacion no encontrada en arbol.n"); } }