How I am doing a program in which I need to apply Quicksort, now I work with a two-dimensional matrix, what I want to achieve is that when 2 equal numbers are compared ( matriz[i,j] <= matriz[i+1,j]
) the value [i,j+1]
and the value is compared [i+1,j+1]
and decide which should go first.
If anyone has any idea how to achieve this I would appreciate it, attach the quicksort method that I am using.
private void quicksortMenorPeso(int[,] vector, Int64 primero, Int64 ultimo)
{
Int64 i, j, central;
double pivote;
central = (primero + ultimo) / 2;
pivote = vector[central, 1];
i = primero;
j = ultimo;
do
{
while (vector[i, 1] < pivote) i++;
while (vector[j, 1] > pivote) j--;
if (i <= j)
{
int temp; int temp2;
temp = vector[i, 0];
temp2 = vector[i, 1];
vector[i, 0] = vector[j, 0];
vector[i, 1] = vector[j, 1];
vector[j, 0] = temp;
vector[j, 1] = temp2;
i++;
j--;
}
} while (i <= j);
if (primero < j)
{
quicksortMenorPeso(vector, primero, j);
}
if (i < ultimo)
{
quicksortMenorPeso(vector, i, ultimo);
}
}