Jak mogę posortować całą tablicę struktur według jednej z jej składowych?
struct dane {
int lp;
char imie[20];
char nazwisko[20];
int rok;
};
Mam strukturę takiego typu i potrzebuję posortować wg roku, imienia oraz nazwiska.
napisałem takie coś:
swapint(int x, int y) {
int tmp;
tmp = x;
x = y;
y = tmp;
}
swapchar(char x[], char y[]) {
char tmp[20];
strcpy(tmp, x);
strcpy(x, y);
strcpy(y, tmp);
}
void bubblesortone(int lata[], char imiona[], char nazwiska[]) {
int i, j;
for (i = 0; i < MAX - 1; i++)
{
for (j = 0; j < MAX - 1 - i; j++)
{
if (lata[j] > lata[j + 1])
{
swapint(lata[j], lata[j + 1]);
swapchar(imiona[j], imiona[j+1]);
swapchar(nazwiska[j], nazwiska[j+1]);
}
}
}
}
lecz nie działa.