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.501
Agradecimientos dados: 123
Agradecimientos: 189 en 129 posts
Registro en: Aug 2010
Facebook Google+ LinkedIn Twitter YouTube
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: 102 en 28 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: 188 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.501
Agradecimientos dados: 123
Agradecimientos: 189 en 129 posts
Registro en: Aug 2010
Facebook Google+ LinkedIn Twitter YouTube
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: 102 en 28 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.501
Agradecimientos dados: 123
Agradecimientos: 189 en 129 posts
Registro en: Aug 2010
Facebook Google+ LinkedIn Twitter YouTube
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.112
Agradecimientos dados: 763
Agradecimientos: 732 en 317 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.162
Agradecimientos dados: 77
Agradecimientos: 194 en 69 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.