Сортировать структуру по фамилии и имени - PullRequest
1 голос
/ 14 мая 2009

У меня есть алгоритм сортировки по фамилии, но у меня возникают проблемы с выяснением, как сортировать по фамилии, тогда, если два человека имеют одинаковую фамилию, сортируйте по имени.

void sortLastName(FRIEND friends[ARRAY_MAX], int& count) {

    FRIEND temp;

    for(int i = 0; i < count - 1; i++) {
        for (int j = i + 1; j < count; j++) {
            if (stricmp(friends[i].lastName, friends[j].lastName) > 0)  {
                temp = friends[i];    //swapping entire struct
                friends[i] = friends[j];
                friends[j] = temp;
            }
        }
    }
}

=== РЕДАКТИРОВАТЬ ====================

Я не хочу использовать STD sort()

Ответы [ 11 ]

0 голосов
/ 14 мая 2009

Добавить следующее:

else if (stricmp(friends[i].lastName, friends[j].lastName) == 0 &&
         stricmp(friends[i].firstName, friends[j].firstName) > 0) {
    temp = friends[i];    //swapping entire struct
    friends[i] = friends[j];
    friends[j] = temp;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...