Red de conocimiento informático - Espacio del host - Amigos que conocen C++, por favor entren. Tengo una pregunta sobre la clasificación rápida.

Amigos que conocen C++, por favor entren. Tengo una pregunta sobre la clasificación rápida.

quick(a,b,1,n);//quick_sort es una clasificación in situ, ¿por qué desea abrir otra matriz b y su matriz original es a? Si me preguntas, el prototipo de función más simple debería ser:

void quick_sort(int *a, int beg, int rear No existe ninguna matriz b);

No soy el dios de los algoritmos, jaja. Nunca antes había visto tu implementación, y tu código también es un desastre. ¿Cómo se usa el método definido pero no inicializado dentro de la función rápida de variables? ? Me refiero a la variable i;

He visto una clasificación rápida en la que había que particionar y llamar a la función de partición de forma recursiva

void quick_sort(int *a, int p, int r)

p>

{

if (p

int q = partición(a, p, r);//descúbrelo donde está a[r] y llama a quick_sort recursivamente;

quick_sort(a, p, q-1);

quick_sort(a, q+1, r);

}

}

Hay muchos códigos fuente para una clasificación rápida, puedes buscarlos en Google. Sólo como referencia