Listas

Páginas: 6 (1498 palabras) Publicado: 25 de septiembre de 2012
/* PROGRAMA DE UNA LISTA*/

#include /* Incluye el fichero stdio.h las funciones scanf y printf */
#include /* Incluye el fichero conio.h las funciones clrscr*/
#include /* Incluye el fichero stdlib.h las funciones malloc y free */

struct listNode /* Definicion estructura autoreferenciada */
{
char data; /* Miembro de la estructura, dato de tipo caracter */struct listNode *nextPtr; /* Miembro, tipo puntero al mismo tipo de estructura */
};

typedef struct listNode LISTNODE; /* Renombrar la struct listNode con LISTNODE */
typedef LISTNODE *LISTNODEPTR; /* Renombrar la LISTONODE con *LISTNODE */

void insert (LISTNODEPTR , char); /* Funcion de insertar caracter */
char deleted (LISTNODEPTR *, char); /* Funcion de borrarcaracter */
int isEmpty (LISTNODEPTR); /* Funcion de lista vacia */
void printList(LISTNODEPTR); /* Funcion de imprimir lista */
void instructions(void); /* Funcion de menu de instrucciones */

/* Programa principal es aquí desde donde se mandan a ejecución a las funciones que permitiran insertar y
borrar elementos de la lista enlazada, este programa contiene un puntero startPtr elcual se empleara para
apuntar al primer dato o nodo de la lista y definir si existen elementos o no existrir elementos el valor de
este puntero permanecera en un NULL, tambien contiene la ejecución de la función de instrucciones la cual le indicara al usuario que hacer, después hay una estructura while que hace repetitivo todo el programa y dentro de esta hay una estructura de selección múltiplela cual permitira ejecutar por decisión del usuario que desea hacer es decir insertar un elemento, borrar el elemento o salir del programa*/
main()
{
LISTNODEPTR startPtr = NULL; /* Declaracion de la variable (de una estructura), starPtr igual a NULL */
int opcion; /* Declaracion de la variable opcion de tipo entero */
char item; /* Declaracion de la variable item de tipocaracter */

clrscr(); /* Limpiar pantalla */
instructions(); /* Llamada a la funcion de instrucciones */
printf("?"); /* Imprimir el sigo de interrogacion ? */
scanf("%d",&opcion); /* Almacenar la opcion elegida */

while (opcion != 3 ) /* Mientras la opcion sea diferente a 3 realiza lo siguiente */
{
switch(opcion) /* switch evalua elnumero de opcion */
{
case 1: printf("Introduzca un caracter: "); /* Si es 1 ejecuta lo siguiente*/
scanf("\n%c",&item); /* Almacena en item el caracter a insertar */
insert(&startPtr,item); /* Llamada a la funcion de insertar, enviando
los argumento de la direccion de starPtr y item donde esta el caracter */printList(startPtr); /* Llamada a la funcion de imprimir lista */
break; /* Finalizar cas 1 y switch */

case 2: if( ! isEmpty(startPtr)) /* Si es 2 evalua si lo que regresa la llamada a la funcion lista vacia es cero y con el inveror se vuelve 1 (verdarero) y ejecuta los siguiente*/
{
printf("Introduzca elcaracter a borrar: ");
scanf("\n %c",&item); /* almacena en item el caracter a borrar */

if(deleted(&startPtr,item)) /* Ir a la funcion de borrar carácter, para ver si existe el caracter y borrarlo, regresa un cero si no lo encuentra y se sale de if*/
{
printf("\n%c borrado ",item); /* Imprime el caracter encontrado */
printList(startPtr); /*Llamada aa la funcion de imprimir */
}
else /* Si no cumplio if ejecuta lo siguiente */
printf("%c no encontrado.\n\n",item);

}
else /* Si la evaluación de 1er. if fue 0 ejecuta lo sig */
printf("La lista esta vacia \n\n");
break; /* Salir de case 2 y de switch */
default: printf("Opcion no...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Listas
  • lista
  • Listas
  • listado
  • Listas
  • listado
  • listen
  • listo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS