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] 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.544
Agradecimientos dados: 128
Agradecimientos: 197 en 137 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$$i gane un mundial
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: 108 en 30 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.015
Agradecimientos dados: 0
Agradecimientos: 200 en 11 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.544
Agradecimientos dados: 128
Agradecimientos: 197 en 137 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$$i gane un mundial
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: 108 en 30 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.544
Agradecimientos dados: 128
Agradecimientos: 197 en 137 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$$i gane un mundial
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.249
Agradecimientos dados: 780
Agradecimientos: 782 en 327 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.167
Agradecimientos dados: 81
Agradecimientos: 212 en 74 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)



    This forum uses Lukasz Tkacz MyBB addons.