Я разрабатываю программу c. Я использую эту структуру:Сортировка по названию сложной структуры в c
main.h:
#define LONG_CADENA 22
#define NUM_CADENAS 5
#define formato "%22s%22s%22s%22s%22s\n"
#define indi_format "%22s"
typedef struct Agenda
{
char* nom[NUM_CADENAS];
struct Agenda* ant;
struct Agenda* sig;
} ag;
У меня есть эта функция, чтобы показать повестку объекта:
#include <stdio.h>
#include "main.h"
ag* mostrarAgenda(ag* act)
{
unsigned i = 0;
void* ini;
ini = act;
while (act++->sig) //ma1: Reescribir esta línea utilizando el bucle for
{
for (; i<NUM_CADENAS; i++)
{
printf(indi_format, act->nom[i]);
}
}
printf("\n");
getchar();
return ini;
}
Мне нужно изменить эту функцию для сортировки структур одним из элементы, например, ag-> nom [0]. Но я начинаю с C, и я не знаю, как я мог это сделать
Кто-нибудь может мне помочь?
Вы можете проверить сортировку пузырьков. – George
Я знаю некоторый код сортировки, но я никогда не использую struct с указателями, и я не знаю, как применить код сортировки для этой структуры ... – alberph
@George: Использование 'qsort' почти всегда лучше, чем реализация собственных. –