SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: luli^^ en Lunes 5 de Junio de 2006, 21:51

Título: Ayuda Para Ordenar Lista Enlazada
Publicado por: luli^^ en Lunes 5 de Junio de 2006, 21:51
hola  :comp:  tengo un problema, tengo que hacer un programa que consistente en la ordenacion de una lista doblemente enlazada por el metodo de la burbuja en lenguaje c++, la que la ordenacion consistiria en ir cambiando los punteros siguiente, anterior... como si fuera el metodo de la burbuja usado para arrays pero aplicado a una lista doblemente enlazada.
Si alguien me puede dar alguna idea.... es k no se muy b como hacerlo... y tengo que entregarlo en una semana aproximadamente.
Espero que alguien me pueda ayudar. Gracias por adelantado  ;)

Luli. Zgz
Título: Re: Ayuda Para Ordenar Lista Enlazada
Publicado por: Bicholey en Martes 6 de Junio de 2006, 07:47
Metodo de la burbuja ?   :blink:  :blink:  :blink:  :blink:
en mi vida he oido hablar de eso, sera porque no entraba a clases pero he hecho un metodo para ordenar alfabeticamente y lo he utilizado en una lista doblemente enlazada hace años pero te lo pongo para que lo veas espero que os sirva:



[CODE]
#include<conio.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>

void qs(char *B[100], int inf, int sup);
void main ()
{
 char A[100][200],*B[100];
 int NE;   clrscr ();
 cout<<"\nDA EL NUMERO DE NOMBRES QUE VAS A INTRODUCIR\n";
 cin>>NE;cout<<"\n DA LOS NOMBRES";
 for(int i=1;i<NE;i++)
 {  cout<<"\n"<<i<<".";  fflush(stdin);
  gets(A);  B=A;  }  qs(B, 0, NE-1);
  clrscr ();  cout<<"\nNOMBRES ORDENADOS";
  for(i=0;i<NE;i++)   cout<<"\n"<<i<<"."<<B;
  getch ();  }void qs(char *B[100], int inf, int sup)
{ register izq, der;
 char *mitad, *x;
 izq=inf; der=sup;
 mitad=B[(izq+der)/2];
 do{ while(strcmp(B[izq],mitad)<0 && izq<sup)  izq ++;
 while(strcmp(mitad,B[der])<0 && der>inf)
 der --;
 if(izq<=der){ x=B[izq];
 B[izq]=B[der]; B[der]=x;
 izq++; der--; }}while(izq<=der);
if(inf<der) qs(B, inf, der);if(izq<sup) qs(B, izq, sup);}

//obvio esta hecho con turbo C 3.0 el de la pantallita azul
Título: Re: Ayuda Para Ordenar Lista Enlazada
Publicado por: x.cyclop en Martes 6 de Junio de 2006, 07:50
http://es.wikipedia.org/wiki/Ordenamiento_de_burbuja (http://es.wikipedia.org/wiki/Ordenamiento_de_burbuja)  
http://en.wikipedia.org/wiki/Bubble_sort (http://en.wikipedia.org/wiki/Bubble_sort)
http://en.wikibooks.org/wiki/Algorithm_imp...g/Bubble_sort#C (http://en.wikibooks.org/wiki/Algorithm_implementation/Sorting/Bubble_sort#C)
http://en.wikibooks.org/wiki/Algorithm_imp...Bubble_sort#C++ (http://en.wikibooks.org/wiki/Algorithm_implementation/Sorting/Bubble_sort#C++)
:P
Título: Re:lista doblemente enlazada
Publicado por: lilithmabc en Viernes 6 de Mayo de 2011, 17:57
soy nuevo en esta pagina y no encuentro donde pener una pregunta asi q lo hice aca

es que tengo un problema con este codigo queria saber si tu me podrias dar una mano
realizar un programa que simule el funcionamiento del boton deshacer y rehacer de Word. Las funciones que debe tener el programa son : ingresar operacion, guardar (eliminar las operaciones de toda la lista), deshacer(*ant), rehacer(*sig), imprimir todas las operaciones segun el orden de entradas.

gracias