• Miércoles 20 de Noviembre de 2024, 16:25

Autor Tema:  Quicksort de arreglo en C++  (Leído 1272 veces)

strik3r

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Quicksort de arreglo en C++
« en: Jueves 17 de Febrero de 2011, 09:49 »
0
Bueno pues no me acomoda los numeros... y no se que esta mal en mi codigo le he dado mil vueltas , y para mi que la funcion particion es la del error... si alguien pudiera ayudarme....

Código: C++
  1. void quicksort( int A, int i, int j )
  2. {
  3. int ind, k;
  4. ind = pivote( A, i, j );
  5. if( ind >= 0 ) {
  6. k = particion(A, i, j, A[ind] );
  7. quicksort( A, i, k-1 );
  8. quicksort( A, k, j );
  9. }
  10. }
  11.  
  12. int pivote( int A[],int i,int j )
  13. {
  14. int k, r;
  15. for( k = i+1; k <= j; k++ ) {
  16.   if(A[k]>A[i])
  17.       return i;
  18.   else
  19.      if(A[k]<A[i])
  20.         return k;
  21. }
  22. /* No hay llaves diferentes */
  23. return -1;
  24. }
  25.  
  26. int particion( int A[],int i, int j, int v )
  27. {
  28. int l,r;
  29. l=i; r=j;
  30. do {
  31. aux=A[l];
  32. A[l]=A[r];
  33. A[r]=aux;
  34. while(A[l]<v)
  35. l++;
  36. while(A[r]>=v)
  37. r--;
  38. } while ( l<r );
  39. return l;
  40. }
  41.  

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Quicksort de arreglo en C++
« Respuesta #1 en: Miércoles 23 de Febrero de 2011, 16:57 »
0
No se le hace la tarea a NADIE y mucho menos a mal educados.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.