如何按姓氏排序并打印新数组
How to sort by last name and print the new array?
所以基本上,我正在创建一个电话簿,其中包含各种信息,例如姓名,电话号码,地址等。 它是使用类保存的。 我需要一些帮助按姓氏对此数组进行排序,然后打印新列表。
我尝试了各种排序方法。 我不知道排序方法是否有效,或者我只是打印数组而没有对其进行排序。 我创建了字符串 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();
}
}
您的代码正在交换局部变量last1
和last2
; 它不会更改数组的元素。
相关文章:
- 如何将元素从向量转移到新数组?
- 如何在新数组较小时创建新数组并将旧数组的最后一个元素复制到新数组中?
- C++ "oldstyle container ":指针/数组/新 - 可能误会?
- 是复制了新数组还是指向结构中引用的数组的指针?
- 标量"新 T "与数组"新 T[1]"
- 如何将大括号初始值设定项用于动态大小数组和新数组?
- 如何按姓氏排序并打印新数组
- 如何修改数组,从中删除空格,然后将其存储在新数组中
- 有没有办法创建一个花哨的迭代器和相应的新数组,以便检查每个索引的索引值的条件?
- 从一系列的evens和赔率中,新数组是持续的第一个赔率
- 在新数组中获取随机值
- 将数组的特定元素移动到新数组
- 我如何使用此二叉搜索函数的修改后的最大/最小值创建新数组
- 如何从函数返回的数组中创建一个新数组
- 合并排序 - 返回新数组,而不是将合并的数组复制到输入数组
- C 2 DIM数组新获得0
- 创建新数组时写入位置时发生访问冲突
- 将 argv 复制到新数组中
- C++中的动态数组(指针数组还是新数组?
- 编译器认为新数组正在创建新对象