Здравствуйте, я не могу переделать сортировку Хоара на языке С. Мне нужна сортировка двумерного массива
Есть функция, в которую передается двумерный массив из 20 строк и 2х столбцов. В первом столбце хранятся индексы элементов, во втором - значения(размер файла). Мне надо отсортировать этот массив методом Хоара так, чтобы размер файлов шел по возрастанию, и чтобы каждому размеру соответсвовал свой индекс. Помогите, пожалуйста
void hoare_sort(int hoara[20][2], int first, int last) {
int i = first, j = last;
int tmp, x = hoara[(first + last) / 2][1];
do {
while (hoara[i][1] < x)
i++;
while (hoara[j][1] > x)
j--;
if (i <= j)
{
if (i < j)
{
tmp = hoara[i][1];
hoara[i][1] = hoara[j][1];
hoara[j][1] = tmp;
}
i++;
j--;
}
} while (i <= j);
if (i < last)
hoarasort(hoara[20][2], i, last);
if (first < j)
hoarasort(hoara[20][2], first, j);
printf("Sorted array by Hoare: \n");
for (int i = 0; i < 20; i++) {
printf("%d\n", hoara[i][1]);
}
}