quicksort

Luthien
13 de Noviembre del 2005
por favor me podriais facilitar como es la implementacion del algortimo recursivo quicksort en C++.
MUXAS GRACIAS

noel solw
13 de Noviembre del 2005
te envio el programa de Quick Sort en c++.
espero que te sea util.

// program k4_14.CPP - page 76
// quick sort by C. A. R. Hoare.
// c++ exercices book - dr. gershon kagan (first edition : 2001)
// written in Borland CPP ver 3.1

#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>

#define MAX 18
#define MAX_DIGIT 3

void Show(int *a)
{
for(int i = 0; i < MAX; i++)
cout << setw(4) << a[i];
cout << endl;
} // SHOW

void Init(int *a)
{
for(int i = 0; i < MAX; i++)
a[i] = random(100);
} // INIT

void Swap(int &a,int &b)
{
int c = a;
a = b;
b = c;
} // SWAPS INTEGER

int ReArrange(int *a,int down,int up)
{
int p = down;
while(up != down)
{
while(up > down && a[up] >= a[p])
up--;
if(up != down)
{
Swap(a[up],a[down]);
p = up;
while(down < up && a[down] <= a[up])
down++;
if(down != up)
Swap(a[down],a[up]);
p = down;
}
}
return p;
} // REARRANGE

void QuickSort(int *a,int down,int up)
{
if(down < up)
{
int p = ReArrange(a,down,up);
QuickSort(a,down,p-1);
QuickSort(a,p+1,up);
}
} // QUICK SORT

void main()
{
clrscr();
randomize();
int a[MAX];
cout << "quick sort, by C. A. R. Hoare : " << endl << endl;
Init(a);
Show(a);
cout << endl;
QuickSort(a,0,MAX-1);
Show(a);
cout << endl << "end of program - good bye ! ! !n";
getch();
} // MAIN

/*
quick sort, by C. A. R. Hoare :

1 26 82 19 98 72 89 31 40 78 84 69 53 88 98 7 20 80

1 7 19 20 26 31 40 53 69 72 78 80 82 84 88 89 98 98

end of program - good bye ! ! !
*/

Estrella Berenice Rosales Mata
13 de Noviembre del 2005
¿Cuál es el concepto de C++ QUICKSORT y cual es su funcionalidad? Poner un ejemplo de un programa
GRACIAS

Estrella Berenice Rosales Mata
13 de Noviembre del 2005
Definición de C++ QUICKSORT

Estrella Berenice Rosales Mata
13 de Noviembre del 2005
¿Qué es un QUICKSORT en c++?