Lista Enlazada En C

Páginas: 3 (570 palabras) Publicado: 1 de octubre de 2012
/*Cesar Martinez Olguin*/
#include
#include
#include

static struct termios oldt;

void restore_terminal_settings(void)
{
tcsetattr(0, TCSANOW, &oldt); /* Apply saved settings */
}void disable_waiting_for_enter(void)
{
struct termios newt;

/* Make terminal read 1 char at a time */
tcgetattr(0, &oldt); /* Save terminal settings */
newt = oldt; /* Initnew settings */
newt.c_lflag &= ~(ICANON | ECHO); /* Change settings */
tcsetattr(0, TCSANOW, &newt); /* Apply settings */
atexit(restore_terminal_settings); /* Make sure settingswill be restored when program ends */
}

typedef struct nodo{
char dato;
struct nodo *sig;
}nodo;

nodo *raiz = NULL;
char mensajes[5][50]={{"El dato ya existe"},{"Dato no encontrado"},
{"Escriba una opcion valida"},
{},
{"escriba una opcion valida (1/2/3)"}};
int mensaje=3;

intinsertar(char dato){
mensaje =3;
//printf("inicio funcion-");
nodo *nuevo, *prev, *actual;
nuevo = (nodo *) malloc(sizeof(nodo));
//printf("tome memoria-");
nuevo->dato = dato;nuevo->sig = NULL;
prev = NULL;
if(!raiz){
raiz = nuevo;
return 1;
}
actual = raiz;
while(actual && dato > actual->dato){
prev = actual;actual = actual->sig;
}
//printf("busque posicion-");

if(actual && actual->dato == dato){
//printf("el dato ya existe-");
mensaje = 0;//free(nuevo);
return 0;
}
if(actual == raiz){ //insertar al inicio
nuevo->sig = raiz;
raiz = nuevo;
return 1;
}
if(!actual){ //insertar al finalprev->sig = nuevo;
return 1;
}
prev->sig = nuevo; //insertar en medio
nuevo->sig = actual;
return 1;
}

int eliminar(char dato){
mensaje=3;
nodo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

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

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS