Как отсортировать по фамилии и распечатать новый массив? - PullRequest
0 голосов
/ 23 июня 2019

Итак, в основном, я создаю телефонную книгу с различной информацией, такой как имя, номер телефона, адрес и т. Д. Она сохраняется с использованием класса. Мне нужна помощь в сортировке массива по фамилии и распечатке нового списка.

Я пробовал разные методы сортировки. Я не знаю, работает ли метод сортировки или я просто распечатываю массив без его сортировки. Я создал строку last1 и last2, потому что я получал ошибку, когда просто использовал addressBook [j] в строке подкачки. Я также попытался превратить строки в значения ascii для сравнения.

void sortAddressBookByLastName(addressBookType addressBook[], int 
numOfAddress){

string last1, last2;

for (int i = 0; i < numOfAddress-1; i ++){
    for (int j = 0; j < numOfAddress - i - 1; j ++)
    {
        last1=addressBook[j].getLastName();
        last2=addressBook[j+1].getLastName();

        if (last1 > last2){
            swap(last1,last2);
        }
    }
}

for(int i=0; i < numOfAddress;i++){
    addressBook[i].print();
}

}

1 Ответ

1 голос
/ 23 июня 2019

Ваш код заменяет локальные переменные last1 и last2; это не меняет элементы массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...