Contenido
Listas enlazadas
 
Listas
Administrador
Plan de Curso
Modulo I
Unidad1
Unidad2
Modulo II
Unidad3
Unidad4
Modulo III

Unidad5

Unidad6
Foros
Chat

Blogs

Pascal

Descarga

Firefox

Email

Link

En la vida diaria estamos en permanente contacto con las listas. En los almacenes vemos listas de precios, en la universidad listas de estudiantes y cursos, en las huelgas listas de peticiones. Nos debemos preguntar cuáles características tienen en común estos objetos, para así poder construir un modelo de todos ellos y poder simular su funcionamiento y operación.

Pensemos, por ejemplo, en una lista de compras. En ella debe existir un primer elemento, un segundo elemento y un último elemento. Además, debemos poder borrar cualquier nombre de la lista de compras e, igualmente, agregar uno nuevo en cualquier punto.

Las operaciones que se pueden realizar con listas lineales contiguas son;

1) Insertar, eliminar o localizar un elemento.

2) Determinar el tamaño número de elementos de la lista.

3) Recorrer la lista para localizar un determinado elemento.

4) Clasificar los elementos.

5) Unir dos o más listas en una sola.

6) Dividir una lista en varias sub_listas.

7) copiar la lista.

8) Borrar la lista.

Una lista contigua se almacena en la memoria de la computadura en posiciones sucesivas o adyacentes y se prcesa como un array Unidimensional.

Pseudocodigo correspondiente a leer el elemento J-enesimo de una lista Seria;

El algoritmo requiere conocer el número de elementos de la lista (su longitud, L) Los pasos seran;

1º .) Conocer la longitud de la lista L

2º.) Si L=0 Visualizar "error lista vacia"

Si_no comprobar si el elemento j-ésimo está dentro del rango permitido de elementos 1<=j<=L; en este caso,

asignar el valor del elelemnto P(j) a una variable B; si el elemento j-ésimo no está dentro del rango, visualizar un mensaje de error " elemento solicitado no existe en la lista"

3º.) Fin.

   

Procedimiento Acceso(E lista:P;S elementolista:B=);

  E entero:L,J)  
inicio
si L=0 entonces
escribir('Lista Vacia')    
si_no
    si (j>=1) y (j<= L) entonces
    B«---P[j]
si_no
escribir('Error:elemento no existente')
    fin_si
  fin_si
fin

Ejemplo 2

Borrar un elemento J de la lista P
Variables

L Longitud de lal ista

J Posicion del elemento a borrar

I subíndice del array P

P Lista.

Las operaciones necesarias son;

  1. Comprobar si la lista esta vacia.
  2. Comprobar si el valor de J esta en el rango del subíndice I de la lista 1<=J<=L.
  3. En caso de J correcto, mover los elementos j+1,j+2,.... a las posiciones j,j+1,...respectivamente, con lo que se habra borrado el antiguo elemento j.
  4. Descrementar en uno el valor de la variable L, ya que la lista contendrá ahora L-1 elementos.

Algoritmo:

inicio

   Si L=0 entonces

       escribir('lista vacia')

    si_no

        Leer(j)

      si (J>=1) y (J<=L) entonces

        desde  I«--J hasta L-1 hacer

            P[I]«--P[I+1]

         fin_desde

               L«--L-1

         si_no

            escribir ('Elemento no existe')

         fin_si

      fin_si

   fin.

Ejercicios flash dinámico

 

Google
Imprimir
Contenido
Listas enlazadas

Elaborado por ; Dinora Soto Castillo,. Dinora334@hotmail.com, dinorasoto2004@yahoo.comWebMaster : CIIUNA
WebMaster : CIIUNA.Optimizado para Internet Explorer y resolución 800x600.