Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2006
fede7 fede7 is offline
Registrado
 
Registrado: jun 2005
Posts: 9
Poder: 0
fede7 Va por buen camino
Código Delphi [-]
 
type
 
  tElem = char; {o lo que corresponda}
  tLista = ^tNodo;
  tNodo = record
               anterior: tLista
               contenido: tElem;
               siguiente: tLista
             end;

Osea que los tipos de la lista doblemente enlazada circular y la no circular son iguales, no?

Saludos y gracias


Responder Con Cita
  #2  
Antiguo 06-04-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Exacto.

Lo que cambia es la filosofía de trabajo, vamos a Buscar un elemento concreto:

- No circular
Recorremos desde el principio hasta que aux^.siguiente = nil. Si no encontramos lo que buscamos, paramos.

- Circular.
Ahora todos los aux^.Siguiente tienen un valor, ya que el último de la lista apunta al primero. La condición de parada no la podemos usar, entonces ¿como sabemos que hemos recorrido todos los elementos?

Cada vez que se añade/borra un elemento a la lista, incrementamos/decrementamos un contador, y ya podemos hacer: For i:=1 to contador do

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 06-04-2006
fede7 fede7 is offline
Registrado
 
Registrado: jun 2005
Posts: 9
Poder: 0
fede7 Va por buen camino
Vale, creo que lo voy pillando. Era justo la mayor duda que tenia. Me va a tocar sufrir de lo lindo, eso esta claro.

Gracias por tus ayudas!!

Saludos
Responder Con Cita
  #4  
Antiguo 06-04-2006
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 26
kinobi Va por buen camino
Cita:
Empezado por Lepe
- Circular.
Ahora todos los aux^.Siguiente tienen un valor, ya que el último de la lista apunta al primero. La condición de parada no la podemos usar, entonces ¿como sabemos que hemos recorrido todos los elementos?
Por ejemplo con un flag (añadiendo también un método en la lista para reiniciar el flag de todos los elementos)

O también con punteros "fijos" al primer y último elemento (caso de utilizarse estructuras dinámicas)

Saludos.
Responder Con Cita
  #5  
Antiguo 06-04-2006
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 21
reina Va por buen camino
Hola! tanto listas doblemente enlazadas circulares o no..podes guardar el 1er elemento y el ultimo. Asi sabrias en la circular la condicion de fin de la lista es cuando llegue al primero..En cuanto a la implementación lo podrias implementar con punteros o array de registros guardas: sig, ant, dato, donde sig y ant son posiciones aleatorias del array...donde tienen un orden logico..pero no fisico . Con respectos a las operaciones pueden ser:
- Crear Lista.
- Recorrer e imprimir la lista.
- Obtener primero
- Obtener Ultimo.
- Insertar en una posicion.
- Agregar.
- Borrar un elemento determinado.
- Borrar un elemento de una posicion.
- Si es vacia.
- Cantidad de Elementos.
etc..
Exitos con las estructuras de datos!

LA PATRIA SERA LIBRE!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Arreglo y Listas Enlazadas davitcito Varios 14 01-06-2005 16:01:57
Pila con Listas enlazadas (problema con apuntadores) desve Varios 2 30-03-2005 10:07:47
listas doblemente enlazadas Luli OOP 1 19-11-2004 15:41:24
Referencias circulares aparentes con SPs mlara Firebird e Interbase 6 06-07-2003 16:29:19


La franja horaria es GMT +2. Ahora son las 06:47:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi