因此,基本上,我正在创建一个电话簿,其中包含各种信息,例如名称,电话号码,地址等。它是使用类保存的。我需要一些帮助,以姓氏对此数组进行排序,然后打印新列表。
我尝试了各种分类方法。我不知道排序方法是否有效,或者我是否只是在打印数组而不进行排序。我创建了字符串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();
}
}
答案 0 :(得分:1)
您的代码正在交换局部变量last1
和last2
;它不会改变数组的元素。