You are on page 1of 9

#include <stdio.

h>
#include <stdlib.h>
/*Listas Simples*/
typedef struct nodos {
int num;
struct nodos *sig;
} NODO;
/*Listas Cirulares*/
typedef struct celda{
int elem;
struct nodo *sig, *ant;
}tipocelda;
typedef tipocelda tposicion;
typedef tipocelda tlista;
/* ****************** */
/* PILA */
typedef struct ElementoLista {
char *dato;
struct ElementoLista *sig;
}tpila;
/* ******** */
/* ARBOl */
typedef struct arbol{
int elem;
struct arbol *izq;
struct arbol *der;
}ARBOL;
/* ****************** */

int menu()
{ int opc;
system("cls");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" EJERCICIOS LISTAS/ARBOLES \n");
printf(" \n");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" 1. EJERCICIOS LISTAS \n");
printf(" \n");
printf(" 2. EJERCICIOS ARBOLES \n");
printf(" \n");
printf(" 5. Salir \n");
printf(" \n");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" \n");
printf(" \n");
printf(" Elegir Opcion: \n");
scanf("%d",&opc);
return(opc);

}

int menu_listas()
{ int opc;

system("cls");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" EJERCICIOS LISTAS (Guia II) \n");
printf(" \n");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" 1. EJERCICIO #8 \n");
printf(" \n");
printf(" 2. EJERCICIO #9 \n");
printf(" \n");
printf(" 3. EJERCICIO #12 \n");
printf(" \n");
printf(" 4. EJERCICIO #13 \n");
printf(" \n");
printf(" 5. EJERCICIO #19 \n");
printf(" \n");
printf(" 6. EJERCICIO #25 \n");
printf(" \n");
printf(" 7. EJERCICIO #27 \n");
printf(" \n");
printf(" 8. EJERCICIO #33 \n");
printf(" \n");
printf(" 9. EJERCICIO #34 \n");
printf(" \n");
printf(" 10. EJERCICIO #22 \n");
printf(" \n");
printf(" 11. EJERCICIO #24 \n");
printf(" \n");
printf(" 12. EJERCICIO #10 \n");
printf(" \n");
printf(" 13. EJERCICIO #37 \n");
printf(" \n");
printf(" 0. SALIR \n");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" \n");
printf(" \n");
printf(" Opcion: \n");
scanf("%d",&opc);
return(opc);

}

int menu_arboles()
{ int opc;

system("cls");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" EJERCICIOS ARBOLES (Guia III) \n");
printf(" \n");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" 1. EJERCICIO #1 \n");
printf(" \n");
printf(" 2. EJERCICIO #2 \n");
printf(" \n");
printf(" 3. EJERCICIO #3 \n");
printf(" \n");
printf(" 4. EJERCICIO #16 \n");
printf(" \n");
printf(" 5. EJERCICIO #21 \n");
printf(" \n");
printf(" 6. EJERCICIO #5 \n");
printf(" \n");
printf(" 7. EJERCICIO #7 \n");
printf(" \n");
printf(" 8. EJERCICIO #11 \n");
printf(" \n");
printf(" 9. EJERCICIO #23 \n");
printf(" \n");
printf(" 10. EJERCICIO #26 \n");
printf(" \n");
printf(" 11. EJERCICIO #6 \n");
printf(" \n");
printf(" 12. EJERCICIO #4 \n");
printf(" \n");
printf(" 13. EJERCICIO #17 \n");
printf(" \n");
printf(" 0. SALIR \n");
printf("--------------------------------------------------------------------------------\n");
printf(" \n");
printf(" \n");
printf(" \n");
printf(" Opcion: \n");
scanf("%d",&opc);
return(opc);
}


NODO *cargar_lista8(NODO *lista){
int numero;
FILE *archi;

archi = fopen("ArchivoEjerciciosTarea.txt","a" );

if (!lista)
lista=(NODO *) malloc (sizeof(NODO));
else
do{
printf("Introduzca Numero: \n");
fscanf(archi,"\n %d ",numero);
lista->num=numero;
lista=lista->sig;
}while(numero!=0);

fclose(archi);

}



int NumeroDeNodos_9 (NODO *lista) {
int n;
NODO *indice;

n=0;
indice = lista;
while (indice != NULL) {
n++;
indice = indice -> sig;
}
return (n);
}

void eliminar_lista(NODO *lista)
{
NODO *aux;

while (lista != NULL){
aux = lista;
lista = lista->sig;
free(aux);
}
}

void InvertirLista(NODO *lista){
NODO *l1,*l2,*l3;
int aux=0;

l1=lista;
l2=l1->sig;

while(!aux){
l3=l2->sig;
l2->sig=l1;
if (l1==lista)
l1->sig=NULL;
l1=l2;
l2=l3;
if(l2==NULL)
aux=1;
}
lista=l1;

}

You might also like