Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Algoritmos] Punteros en procedimientos
Autor Mensaje
NykolaZ Sin conexión
Militante
Con estado :)
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 95
Agradecimientos dados: 5
Agradecimientos: 0 en 0 posts
Registro en: Dec 2008
Mensaje: #1
[Algoritmos] Punteros en procedimientos Dudas y recomendaciones Algoritmos y Estructuras de Datos
Hola, gente. Vengo acá a exponer una duda puntual sobre Algoritmos para ver si me pueden ayudar.

Si en un procedimientos paso como parámetros a ColaFte y ColaFin sin el "VAR" y dentro de ese procedimiento llamo a SUPRIMIR(ColaFte, ColaFin, valor), cuando salga del procedimiento mayor la cola no se perderá, ¿cierto? ¿o se pierde igual?
10-03-2011 05:12
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.162
Agradecimientos dados: 77
Agradecimientos: 194 en 69 posts
Registro en: Nov 2009
Mensaje: #2
RE: [Algoritmos] Punteros en procedimientos
Se pierde. El puntero lo que tiene es una dirección, imaginatelo como un papel con un número escrito. Si lo pasas por var el procedimiento recibe el papel y lo puede reescribir. Si lo pasás sin var, el procedimiento recibe una copia del papel, así que el papel original no va a tener cambios si el procedimiento cambia la dirección a la que apunta. EL tema es que SUPRIRMIR afecta a lo que el puntero apunta, si vos borras nodos, el "papelito" sigue teniendo escrita la misma dirección, pero el nodo que tenía esa dirección ahora vale NIL.
(Este mensaje fue modificado por última vez en: 10-03-2011 13:16 por Anirus.)
10-03-2011 13:13
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
NykolaZ Sin conexión
Militante
Con estado :)
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 95
Agradecimientos dados: 5
Agradecimientos: 0 en 0 posts
Registro en: Dec 2008
Mensaje: #3
RE: [Algoritmos] Punteros en procedimientos
Para no perder los nodos serán necesarias colas auxiliares pues. Gracias, Anirus.
10-03-2011 21:32
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.162
Agradecimientos dados: 77
Agradecimientos: 194 en 69 posts
Registro en: Nov 2009
Mensaje: #4
RE: [Algoritmos] Punteros en procedimientos
Una pregunta, qué intentás hacer?
si vos hacés
colaFteAuxiliar<-colaFte
colaFinAuxiliar<-colaFin
suprimir(colaFteAuxiliar, colaFinAuxiliar, valor)
los nodos se eliminan tanto de la original como la auxiliar, porque las dos hacen referencia a los mismos nodos. Si uno demuele una casa, para todo el que tenga guardada la dirección de la casa la casa va a estar demolida por igual. La diferencia está en que colaFteAuxiliar va a estar apuntando al nodo que ahora pasa a ser el primero de la cola, y ColaFte va a seguir apuntando al nodo que ahora vale NIL.

Por eso te pregunto qué intentás, porque por ahí entendí que preguntabas otra cosa y no más te estoy confundiendo.
(Este mensaje fue modificado por última vez en: 10-03-2011 22:39 por Anirus.)
10-03-2011 22:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
NykolaZ Sin conexión
Militante
Con estado :)
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 95
Agradecimientos dados: 5
Agradecimientos: 0 en 0 posts
Registro en: Dec 2008
Mensaje: #5
RE: [Algoritmos] Punteros en procedimientos
No no, me respondiste bien. Te explico igual.

Pensaba en la posibilidad de tener que usar una cola para dos procedimientos distintos: ImprimirListado1 e ImprimirListado2.
Si quiero que la cola sobreviva para ImprimirListado2, en ImprimirListado1 no puedo destruir los nodos de la cola. Por ende, uso un puntero que recorra la cola o uso colas auxiliares.

Con colas auxiliares me refiero a esto:

cFteAux <- NIL
cFinAux <- NIL
[...]
SUPRMIR(ColaFte, ColaFin, valor)
AGREGAR(cFteAux, cFinAux, valor)
[...]
ColaFte <- cFteAux
ColaFin <- cFinAux
11-03-2011 01:52
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.162
Agradecimientos dados: 77
Agradecimientos: 194 en 69 posts
Registro en: Nov 2009
Mensaje: #6
RE: [Algoritmos] Punteros en procedimientos
Ahh, eso sí se puede, no sabía que los ibas a agregar a otra cola después de quitarlos =) Pero recorrerlo con un puntero no porque deja de ser cola, aunque podrías ponerle de nombre listaFte y listaFin porque las listas admiten recorridos y las operaciones de cola y pila.
(Este mensaje fue modificado por última vez en: 11-03-2011 12:13 por Anirus.)
11-03-2011 12:11
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
ElChacal Sin conexión
Suspendido
Sin estado :(

Ing. Industrial
Facultad Regional Buenos Aires

Mensajes: 7.866
Agradecimientos dados: 0
Agradecimientos: 482 en 62 posts
Registro en: Mar 2008
Mensaje: #7
RE: [Algoritmos] Punteros en procedimientos
Che, voy a tener un acto de generosidad importante, y este fin de semana les voy a subir el resumen completo de algoritmos puntuales que tengo, que es un caño. Les va a servir.

PD: que feo que un alumno de industrial les tenga que subir dicho material. Muy feo he!!!!!
11-03-2011 13:32
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.