?.
-
bilinen hızlı sıralama algoritmalarından birisidir.
c implementasyonu aşağıdadır.
--spoiler--
void swap(int vector[], int x, int y)
{
int temp = vector[x];
vector[x] = vector[y];
vector[y] = temp;
}
void qsort(int vector[], int left, int right)
{
int i, last;
if( left >= right )
return; // dizi en az iki eleman içermiyorsa hiçbirşey yapma.
swap(vector, left, (left + right) / 2);
last = left;
for(i = left + 1; i <= right; i++)
if( vector[i] < vector[left] )
swap(vector, ++last, i);
swap(vector, left, last);
qsort(vector, left, last -1);
qsort(vector, last + 1, right);
}
--spoiler--