listas lineales enlazadas

Páginas: 2 (461 palabras) Publicado: 16 de abril de 2013
Las listas ordenadas son aquellas en las que la posición de cada elemento depende de su contenido. Por ejemplo, podemos tener una lista enlazada que contenga el nombre y apellidos de un alumno, si sequiere que los elementos -los alumnos- estén en la lista en orden alfabético se construye una lista alfabéticamente ordenada.

La creación de una lista ordenada es: struct lista *L = NULL;Inserción en una lista Ordenada:
Para insertar un nuevo elemento en la lista ordenada hay que hacerlo en el lugar que le corresponda, y esto depende del orden y de la clave escogida. Este proceso serealiza en tres pasos:
1. Localizar el lugar correspondiente al elemento a insertar.
2. Reservar memoria para el nuevo nodo.
3. Enlazarlo.



Eliminación en una lista Ordenada:
1. Verificarla posición del elemento en la lista.
2. Enlazar el elemento previo con el siguiente en la lista
3. Liberar la memoria del nodo.


/*OperaListaOrdenada.cpp el programa opera una lista ordenadade enteros, pero contiene errores*/
/*en la eliminación de nodos. Se le pide hacer un seguimiento, detectar los errorres y corregirlos*/
#include
#include
#include

struct nodo{
intdato;
struct nodo *siguiente;
};
typedef struct nodo NODO;

main()
{int i, suma=0;
NODO *p,*q,*L,*r;
L = NULL; /* Crea una lista vacia */

for (i = 4; i >= 1; i--)
{/* Reserva memoria para un nodo en cada iteración*/
p = (NODO *) malloc(sizeof( NODO));
p->dato = i; /* Introduce la informacion */

p->siguiente = L; /* reorganiza */
L = p;/* los enlaces */
}
/* recorre y suma la lista */
q = L;
printf("\n\nLa lista creada es:\t");
while (q != NULL) {
printf("%d\t ", q->dato);
suma = suma + q->dato;q = q->siguiente;
}

printf ("\n\nLa suma de los elementos de la lista es: %d\n\n",suma);

/* la nueva lista ordenada será....*/
printf("\n\nLa lista modificada es:\t");...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Listas enlazadas
  • Listas Enlazadas
  • Lista enlazadas
  • Listas enlazadas
  • Listas Enlazadas
  • Listas enlazadas
  • Listas enlazadas
  • Creacion de lista enlazada circular

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS