Я немного запутался в этом вопросе.Допустим, у меня есть такая структура:
typedef struct
{
char a;
int num;
}
t_per;
, и я хочу отсортировать t_per* data
по num
.Тогда я бы сделал что-то вроде:
void sort(t_per* data)
{
int i = 0, j = 0;
t_per aux;
for(i = 0; data[i].num != 0; i++)
{
for(j = i + 1; data[j].num != 0; j++)
{
if(data[i].num > data[j].num)
{
aux = data[i];
data[i] = data[j];
data[j] = aux;
}
}
}
}
Но что, если у меня есть t_per** data
?Это будет правильно?
void sort(t_per** data)
{
int i = 0, j = 0;
t_per aux;
for(i = 0; (*data[i]).num != 0; i++)
{
for(j = i + 1; (*data[j]).num != 0; j++)
{
if((*data[i]).num > (*data[j]).num)
{
aux = *data[i];
*data[i] = *data[j];
*data[j] = aux;
}
}
}
}
Отредактировано для разборчивости.