Я хочу сортировать массив структур с помощью определенного члена с помощью quicksort. вот моя структура:как вызвать рекурсивно функцию, которая имеет массив структур как параметр
struct points
{
int x,y,apart;
};
и функция быстрой сортировки:
void quicksort(points* a,int points::*member,int left, int right)
{
int i=left, j=right, pivot=a[(i+j)/2].*member;
while(i<j)
{
while(a[i].*member<pivot)
i++;
while(a[j].*member>pivot)
j--;
if(i<=j)
{
points tmp=a[i];
a[i]=a[j];
a[j]=tmp;
i++;j--;
}
}
if(left<j)
quicksort(a,&points::*member,left,j);
if(i<right)
quicksort(a,&points::*member,i,right);
}
и проблема заключается в этих двух строк кода:
if(left<j)
quicksort(a,&points::*member,left,j);
if(i<right)
quicksort(a,&points::*member,i,right);
Это даст это я ошибка: ожидается unqualified-id перед токеном '*' |
Я не знаю, когда я называю это рекурсивно, как указать член. Я хочу его сортировать по ... Если это имеет смысл, пожалуйста, помогите мне. Благодаря
haha, спасибо, что сработало) –