Сортировка массива структур по полю в алфавитном порядке - C (СИ)

Формулировка задачи:

Доброго время суток,уважаемые. Прошу помощи в написании кода) Имеется массив структур:
struct lab
{
char str_1[M];// Фамилия
char str_2[M];// Отдел
int c;// Зарплата
int d;// Кол-во детей
} st[N];
Нужно отсортировать структуры по полю "фамилия",которое является строкой, в алфавитном порядке. Желательно без функций сортировки, как-нибудь элементарно. Полностью программу писать не нужно,она уже написана, нужна лишь часть - сортировка. Всем откликнувшимся огромное спасибо.

Код к задаче: «Сортировка массива структур по полю в алфавитном порядке - C (СИ)»

textual
#include <stdlib.h>
#include <string.h>
/* после объявления массива структур */
int cmp(const void * a, const void * b) {
    return strcmp(((struct lab*)a)->str_1, ((struct lab*)b)->str_1);
}
 
/* где-то в программе */
qsort(st, N, sizeof(struct lab), cmp);

7   голосов, оценка 4.143 из 5


СОХРАНИТЬ ССЫЛКУ