Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Algoritmos] Ordenar una lista enlazada
Autor Mensaje
sentey Sin conexión
Presidente del CEIT
fressi renunciessi abandonessi
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.579
Agradecimientos dados: 136
Agradecimientos: 207 en 144 posts
Registro en: Aug 2010
Mensaje: #1
[Algoritmos] Ordenar una lista enlazada Dudas y recomendaciones Algoritmos y Estructuras de Datos
Me resistia a postear, pero no pude entender bien el tema éste. Alguno me podría explicar con paciencia XD como ordenar una lista enlazada? Me dicen que se hace con burbuja pero tengo problemas para aplicarlo en listas.

sentey escribió:Voy a cambiar esta firma el día que Me$si gane 2 mundiales
04-07-2011 23:26
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 115 en 32 posts
Registro en: May 2011
YouTube
Mensaje: #2
RE: [Algoritmos] Ordenar una lista enlazada
podes insertar ordenado, y te ahorras el trabajo de ordenar despues

http://holamundopascal.blogspot.com/2007...l#oplistas

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
04-07-2011 23:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Doushiyou Sin conexión
Suspendido
Sin estado :(

Ing. Industrial
Facultad Regional Buenos Aires

Mensajes: 3.008
Agradecimientos dados: 0
Agradecimientos: 223 en 13 posts
Registro en: Dec 2009
Facebook
Mensaje: #3
RE: [Algoritmos] Ordenar una lista enlazada
En el blog de Pablo esta muy bien explicado. Pero si aún tenés dudas, esperame a mañana o pasado que te explico o en su defecto te scanneo el diagrama que yo suelo usar. Hace todo en uno, sin necesidad de hacer grandes separaciones XD
05-07-2011 00:45
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
sentey Sin conexión
Presidente del CEIT
fressi renunciessi abandonessi
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.579
Agradecimientos dados: 136
Agradecimientos: 207 en 144 posts
Registro en: Aug 2010
Mensaje: #4
RE: [Algoritmos] Ordenar una lista enlazada
(04-07-2011 23:49)el pibe escribió:  podes insertar ordenado, y te ahorras el trabajo de ordenar despues

http://holamundopascal.blogspot.com/2007...l#oplistas

El tema es que para el TP me piden mostrar la lista ordenada de 2 formas distintas. Asi que si la inserto ordenada al principio, la voy a tener que reordenar despues, ese es el problema que tengo. Tambien me dijeron que otra opcion es ir eliminandola, liberando la memoria e insertandola ordenada en una lista nueva, pero tambien se me complicó para hacer eso.

Cita:En el blog de Pablo esta muy bien explicado. Pero si aún tenés dudas, esperame a mañana o pasado que te explico o en su defecto te scanneo el diagrama que yo suelo usar. Hace todo en uno, sin necesidad de hacer grandes separaciones XD

gracias dou! si podes buenisimo porque en el blog de pablo no encontre nada para ordenar...

sentey escribió:Voy a cambiar esta firma el día que Me$si gane 2 mundiales
05-07-2011 08:19
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 115 en 32 posts
Registro en: May 2011
YouTube
Mensaje: #5
RE: [Algoritmos] Ordenar una lista enlazada
(05-07-2011 08:19)sentey escribió:  
(04-07-2011 23:49)el pibe escribió:  podes insertar ordenado, y te ahorras el trabajo de ordenar despues

http://holamundopascal.blogspot.com/2007...l#oplistas

El tema es que para el TP me piden mostrar la lista ordenada de 2 formas distintas. Asi que si la inserto ordenada al principio, la voy a tener que reordenar despues, ese es el problema que tengo. Tambien me dijeron que otra opcion es ir eliminandola, liberando la memoria e insertandola ordenada en una lista nueva, pero tambien se me complicó para hacer eso.

podes solucionar eso barriendo una sola vez la lista1.

haces otra lista, lista2
y vas pasando los nodos de lista1 a lista2, insertando ordenado =P

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
05-07-2011 08:48
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
sentey Sin conexión
Presidente del CEIT
fressi renunciessi abandonessi
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.579
Agradecimientos dados: 136
Agradecimientos: 207 en 144 posts
Registro en: Aug 2010
Mensaje: #6
RE: [Algoritmos] Ordenar una lista enlazada
(05-07-2011 08:48)el pibe escribió:  
(05-07-2011 08:19)sentey escribió:  
(04-07-2011 23:49)el pibe escribió:  podes insertar ordenado, y te ahorras el trabajo de ordenar despues

http://holamundopascal.blogspot.com/2007...l#oplistas

El tema es que para el TP me piden mostrar la lista ordenada de 2 formas distintas. Asi que si la inserto ordenada al principio, la voy a tener que reordenar despues, ese es el problema que tengo. Tambien me dijeron que otra opcion es ir eliminandola, liberando la memoria e insertandola ordenada en una lista nueva, pero tambien se me complicó para hacer eso.

podes solucionar eso barriendo una sola vez la lista1.

haces otra lista, lista2
y vas pasando los nodos de lista1 a lista2, insertando ordenado =P

Hice eso, pero la 2da vez que queria mostrar la lista le faltaba un pedazo, y asi sucesivamente, hasta quedar vacia. Termine diciendole a la profe y me dijo que arme 2 listas, una ordenada por cada cosa. Cierren si quieren =)

sentey escribió:Voy a cambiar esta firma el día que Me$si gane 2 mundiales
08-07-2011 21:40
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.356
Agradecimientos dados: 900
Agradecimientos: 887 en 356 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #7
RE: [Algoritmos] Ordenar una lista enlazada
para ordenar insertas ordenado
y despues, si le tenes que cambiar el orden, simplemente la pasas a otra lista
es decir, aplicas el mismo algoritmo de orden, pero los elementos los obtenes de una lista, y los transferis a una nueva. Recorda guardar el puntero del siguiente antes de moverte a la nueva lista, no sea cosa que la pierdas =P

[Imagen: v34BEFt.gif]
08-07-2011 22:54
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.163
Agradecimientos dados: 81
Agradecimientos: 232 en 78 posts
Registro en: Nov 2009
Mensaje: #8
RE: [Algoritmos] Ordenar una lista enlazada
(05-07-2011 08:19)sentey escribió:  Tambien me dijeron que otra opcion es ir eliminandola, liberando la memoria e insertandola ordenada en una lista nueva, pero tambien se me complicó para hacer eso.
Sé que ya lo hiciste, pero para el final te limitan la cantidad de nodos y a veces no podés permitirte tener dos listas.
Eliminando nodos: (Para esta no necesitas ninguna funcion adicional, lo cuál es bueno dada la limitación del tiempo)


while(lista<>NIL) do begin
info := eliminarPrimerNodo(lista);
insertarOrdenado(listaOrdenada,info);
end;
lista := listaOrdenada;




Reinsertando:


while(lista<>NIL) do begin
nodo := quitarPrimerNodoYHacerQueListaApunteAlSiguiente(lista);
insertarNodoOrdenado(listaOrdenada,nodo);
end;
lista := listaOrdenada;


function QuitarPrimerNodo...(var lista:tNodo):tNodo
var nodo:tNodo;
begin
nodo := lista;
lista := nodo^.sig;
nodo^.sig := NIL;
QuitarPrimerNodo... := nodo;

El otro igual que insetarOrdenado pero sin las líneas del principio
"new(nuevo);
nuevo^.info:=valor;"
Porque ya te envían nodo nuevo con la info cargada.





(Este mensaje fue modificado por última vez en: 10-07-2011 21:14 por Anirus.)
09-07-2011 17:33
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)