Listas Enlazadas en C

Páginas: 2 (378 palabras) Publicado: 3 de junio de 2015
#include
#include
#include

typedef struct nodo{
int valor;
struct nodo *siguiente;
}tnodo;
typedef tnodo *lista;
typedef tnodo *minodo;

voidagregainicio(lista *l, int v);
void dibujarlista(lista *l);
void eliminar(lista *l, int v);
void ordena(lista *l, int v);
main()
{
int v1,opc;
lista milista=NULL;
do{
clrscr();
printf("1. Agregarvalor\n");
printf("2. Dibujar elemento\n");
printf("3. Eliminar elemento\n");
printf("4. Insertar en orden\n");
printf("5. Salir\n");
scanf("%i", &opc);
if(opc==1)
{
clrscr();printf("Dame el valor del nodo\n");
scanf("%i", &v1);
agregainicio(&milista,v1);

}
else if(opc==2)
{
clrscr();
dibujarlista(&milista);
getch();
}
else if(opc==3)
{
clrscr();printf("Que elemento quieres quitar?\n");
scanf("%i", &v1);
eliminar(&milista,v1);
getch();
}
else if(opc==4)
{
clrscr();
printf("Dame el valor del nodo\n");
scanf("%i", &v1);ordena(&milista,v1);
dibujarlista(&milista);
getch();
}
}while(opc!=5);
return;
}

void agregainicio(lista *l, int v)
{
minodo nvo;
nvo=(minodo)malloc(sizeof(tnodo));//sintaxis:tipo de dato malloc yal ultimo el sizeof de la base que es el tamaño,Aqui es donde le reservas un cuadrito con su cuadrito chiquito para indicar el siguiente
nvo->valor=v;
nvo->siguiente=*l;
*l=nvo;
}

voiddibujarlista(lista *l)
{
int x=3,y=5,i=9;
minodo aux;
aux=*l;
gotoxy(x,y);
printf("lista-> ");
while(aux)
{
gotoxy(x+i,y);
printf("%i-> ", aux->valor);
aux=aux->siguiente;
i=i+3;
}gotoxy(x+i,y);
printf("NULL");
}

void eliminar(lista *l, int v1)
{
minodo ant, act;
act=*l;
ant=NULL;
while(act->valor!=v1)
{
ant=act;
act=act->siguiente;
}
if(ant==NULL)//este es para eliminarel primero nada mas, porque no entra al ciclo
{
*l=act->siguiente;
free(act);
}
else
{
ant->siguiente=act->siguiente;
free(act);
}
}
void ordena(lista *l, int v)
{
minodo ant,act,nvo;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lista Enlazada En C
  • Proyecto Final Con Listas Enlazadas En C
  • Lista simplemente enlazada lenguaje c
  • Listas Enlazadas C++ (Todas Sus Operaciones)
  • Listas enlazadas
  • Listas Enlazadas
  • Lista enlazadas
  • Listas enlazadas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS