gpt4 book ai didi

c++ - 如何按姓氏排序并打印新数组?

转载 作者:行者123 更新时间:2023-11-28 04:15:45 25 4
gpt4 key购买 nike

基本上,我正在创建一个包含姓名、电话号码、地址等各种信息的电话簿。它是使用一个类保存的。我需要一些帮助按姓氏对这个数组进行排序,然后打印新列表。

我尝试过各种排序方法。我不知道排序方法是否有效,或者我是否只是在未排序的情况下打印数组。我创建了字符串 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();
}

}

最佳答案

您的代码正在交换局部变量 last1last2;它不会改变数组的元素。

关于c++ - 如何按姓氏排序并打印新数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56721895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com