Académique Documents
Professionnel Documents
Culture Documents
INFORMACION
NEXT
EL CAMPO INFORMACION QUE SERA DEL TIPO DE DATOS QUE SE QUIERA ALMACENAR EN LA LISTA Y EL CAMPO NEXT, DE TIPO PUNTERO, QUE SE UTILIZA PARA ESTABLECER LA LIGA O EL ENLACE CON OTRO NODO DE LA LISTA. SI EL NODO FUERA EL ULTIMO DE LA LISTA ESTE CAMPO TENDRA COMO VALOR NULO. AL EMPLEARSE EL CAMPO NEXT PARA RELACIONAR DOS NODOS NO SERA NECESARIO ALMACENAR FISICAMENTE A LOS NODOS EN ESPACIOS CONTIGUOS.
UPIICSA Unidad Profesional Interdisciplinaria de Ciencias Sociales y Administrativas __________________________________________________ ESTRUCTURA DE DATOS
Nodo
Es un elemento de una lista encadenada, es la unidad bsica dentro de las Estructuras de Datos. Los nodos contienen dos campos, un campo de informacin y uno de direccin del elemento siguiente. El campo de informacin contiene al elemento actual en la lista. El campo de direccin contiene la direccin del nodo siguiente en la lista. Esta direccin la cual es utilizada para dar acceso a un nodo en particular es denominado puntero.
INFORMACION
NEXT
EL CAMPO INFORMACION QUE SERA DEL TIPO DE DATOS QUE SE QUIERA ALMACENAR EN LA LISTA Y EL CAMPO LIGA, DE TIPO PUNTERO, QUE SE UTILIZA PARA ESTABLECER LA LIGA O EL ENLACE CON OTRO NODO DE LA LISTA. SI EL NODO FUERA EL ULTIMO DE LA LISTA ESTE CAMPO TENDRA COMO VALOR NULO(VACIO). AL EMPLEARSE EL CAMPO LIGA PARA RELACIONAR DOS NODOS NO SERA NECESARIO ALMACENAR FISICAMENTE A LOS NODOS EN ESPACIOS CONTIGUOS.
Apuntador
Las estructuras dinmicas son implementadas mediante un tipo de dato con el nombre de apuntador (puntero). Una variable de tipo puntero almacena la direccin o posicin de otra variable y la principal ventaja de este tipo de datos es que se pueden adquirir posiciones de memoria a medida que se necesita y liberarlas cuando ya no se utilicen; de esta manera se pueden crear estructuras dinmicas que se expandan o se contraigan segn se les agreguen o eliminen elementos. La representacin grafica de un puntero es una flecha que sale del puntero y llega a la variable dinmica apuntada. TENEMOS DOS VARIABLES P Y Q DE TIPO APUNTADOR, ESTAS APUNTAN A DIFERENTES OBJETOS:
M. en C. Lilia Gonzlez Arroyo 2
UPIICSA Unidad Profesional Interdisciplinaria de Ciencias Sociales y Administrativas __________________________________________________ ESTRUCTURA DE DATOS
LA ASIGNACION P Q (P = &Q) TIENE EL EFECTO DE ASIGNAR LA DIRECCION DEL APUNTADOR Q AL APUNTADOR P. DESPUES DE ESTA ASIGNACION, LA SITUACION ES LA SIGUIENTE:
AMBOS APUNTADORES APUNTAN AL AEROPLANO Y EL TELEFONO SE HA PERDIDO ( A MENOS QUE EXISTIERA OTRO APUNTADOR A EL, DOS APUNTADORES PUEDEN APUNTAR A LA MISMA COSA).
LA PROPOSICION *P =*Q TIENE EFECTO BASTANTE DIFERENTE. ESTAMOS COPIANDO EL VALOR DEL OBJETO Q AL OBJETO P Y EL RESULTADO SE MUESTRA EN LA FIGURA ANTERIOR. LOS APUNTADORES ESTAN SIN CAMBIAR PERO EL VALOR DE P HA SIDO ALTERADO
UPIICSA Unidad Profesional Interdisciplinaria de Ciencias Sociales y Administrativas __________________________________________________ ESTRUCTURA DE DATOS
next
Info
3
next
Info
8
next Nul o
Info
5
next nil
ALGORITMO DE CREACION DE UNA LISTA P Y Q SON APUNTADORES. P APUNTA AL INICIO DE LA LISTA 1. CREA (P) CREA EL PRIMER NODO DE LA LISTA 2. LEER P^.INFO 3. HACER P^.NEXT NIL 4. REPETIR CREA(Q) LEER Q^.INFO HACER Q^.NEXT P Y PQ 5. HASTA (QUE NO HAYA INFORMACION)
UPIICSA Unidad Profesional Interdisciplinaria de Ciencias Sociales y Administrativas __________________________________________________ ESTRUCTURA DE DATOS
INSERTAINICIO(P,DATO)
ESTE ALGORITMO INSERTA UN NODO AL INICIO DE LA LISTA. P ES EL APUNTADOR AL PRIMER NODO DE LA LISTA Y DATO ES LA INFORMACION QUE SE ALMACENARA EN EL NUEVO NODO. 1. CREA(Q) 2. HACER Q^.INFODATO Q^.NEXTP Y PQ
INSERTAFIN(P,DATO)
ESTE ALGORITMO INSERTA UN NODO AL FINAL DE LA LISTA. P ES EL APUNTADOR AL PRIMER NODO DE LA LISTA Y DATO ES LA INFORMACION QUE SE ALMACENARA EN EL NUEVO NODO. Q Y T SON APUNTADORES. 1. HACER TP 2. REPETIR MIENTRAS T^.NEXTNIL RECORRE LA LISTA HASTA LLEGAR AL ULTIMO ELEMENTO HACER TT^.NEXT 3. FIN DEL CICLO DEL PASO 2 4. CREA(Q) 5. HACER Q^.INFODATO, Q^.NEXTNIL Y T^.NEXTQ
UPIICSA Unidad Profesional Interdisciplinaria de Ciencias Sociales y Administrativas __________________________________________________ ESTRUCTURA DE DATOS
INSERTANTES(P,DATO,REF)
ESTE ALGORITMO INSERTA UN NODO ANTES DE OTRO DADO COMO REFERENCIA, REF. P ES EL APUNTADOR AL PRIMER NODO DE LA LISTA Y DATO ES LA INF. QUE SE ALMACENARA EN EL NUEVO NODO. Q, X y T SON PUNTEROS. BAND ES UNA VARIABLE DE TIPO BOOLEANO 1 Hacer QP y BAND VERDADERO 2 REPETIR MIENTRAS(Q^.INFO REF) Y (BAND = VERDADERO) 2.1 Si Q^.NEXT NIL entonces hacer T Q Q Q^.NEXT Sino Hacer BAND FALSO 2.2 Fin del paso 2.1 3 Fin del paso 2 4 SI BAND = VERDADERO entonces CREA(X) Hacer X^. INFO DATO 4.1 SI P = Q {primer nodo} entonces Hacer X^.NEXT P y P X sino hacer T^.NEXT X y X^.NEXT Q 4.2 Fin paso 4.1 Fin paso 4 P T Q
REF
Nulo
DATO X
UPIICSA Unidad Profesional Interdisciplinaria de Ciencias Sociales y Administrativas __________________________________________________ ESTRUCTURA DE DATOS
INSERTADESPUES (P,DATO,REF)
ESTE ALGORITMO INSERTA UN NODO DESPUES DE OTRO DADO COMO REFERENCIA, REF. P ES EL APUNTADOR AL PRIMER NODO DE LA LISTA Y DATO ES LA INF. QUE SE ALMACENARA EN EL NUEVO NODO. Q y T SON PUNTEROS. BAND ES UNA VARIABLE DE TIPO BOOLEANO 1 Hacer Q P y BAND VERDADERO 2 REPETIR MIENTRAS(Q^.INFO REF) Y (BAND = VERDADERO) 2.1 Si Q^.NEXT NIL entonces hacer Q Q^.NEXT sino hacer BAND FALSO 2.2 Fin del paso 2.1 3 Fin del paso 2 4 SI BAND = VERDADERO entonces CREA(T) hacer T^. INFO DATO hacer T^. NEXT Q^.NEXT hacer Q^. NEXT T 5 Fin paso 4
REF
Nulo
DATO T
UPIICSA Unidad Profesional Interdisciplinaria de Ciencias Sociales y Administrativas __________________________________________________ ESTRUCTURA DE DATOS
BUSCADESORDENADA(P,X)
ESTE ALGORITMO BUSCA EL ELEMENTO CON INFO X EN UNA LISTA DESORDENADA. P ES EL APUNTADOR AL PRIMER NODO DE LA LISTA 1. HACER QP 2. REPETIR MIENTRAS (QNIL) Y (Q^.INFO X) HACER QQ^.NEXT 3. FIN DEL CICLO PASO 2 4. SI (Q=NIL) ENTONCES ESCRIBIR EL ELEMENTO NO FUE ENCONTRADO SINO ESCRIBIR EL ELEMENTO SE ENCUENTRA EN LA LISTA 5. FIN CONDICIONAL DEL PASO 4
UPIICSA Unidad Profesional Interdisciplinaria de Ciencias Sociales y Administrativas __________________________________________________ ESTRUCTURA DE DATOS
ELIMINA(P,X)
ESTA ALGORITMO ELIMINA UN NODO CON INFORMACION X DE LA LISTA. P ES EL APUNTADOR AL PRIMER NODO DE LA LISTA . 1. HACER QP Y BANDVERDADERO 2. REPETIR MIENTRAS (Q^.INFOX) Y (BAND=VERDADERO) SI Q^.NEXT NIL ENTONCES HACER TQ Y QQ^.NEXT SINO HACER BANDFALSO FINSI 3. FIN DEL CICLO DEL PASO 2 4. SI BAND=FALSO ENTONCES ESCRIBIR EL ELEMENTO NO FUE ENCONTRADO SINO SI P=Q VERIFICA SI EL ELEMENTO A ELIMINAR ES EL PRIMERO ENTONCES HACER PQ^.NEXT SINO HACER T^.NEXTQ^.NEXT FINSI QUITA(Q) 5. FIN DEL CONDICIONAL DEL PASO 4
Realiza la esquematizacin del algoritmo para insertar un elemento despus de otro en listas ligadas simples.