c++按字母排序人名和手机号
时间: 2023-12-10 20:40:36 浏览: 75
以下是一份示例代码,可以对输入的人名和手机号进行按字母排序的操作:
```c++
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
struct Person {
string name;
string phone;
};
bool compareByName(const Person& a, const Person& b) {
return a.name < b.name;
}
bool compareByPhone(const Person& a, const Person& b) {
return a.phone < b.phone;
}
int main() {
vector<Person> people = {
{"Alice", "123-456-7890"},
{"Bob", "234-567-8901"},
{"Charlie", "345-678-9012"}
};
// Sort by name
sort(people.begin(), people.end(), compareByName);
for (const auto& p : people) {
cout << p.name << ": " << p.phone << endl;
}
// Sort by phone number
sort(people.begin(), people.end(), compareByPhone);
for (const auto& p : people) {
cout << p.name << ": " << p.phone << endl;
}
return 0;
}
```
在这个代码中,我们定义了一个包含人名和手机号的结构体 `Person`,并使用 `vector` 存储多个人的信息。我们使用 `sort` 函数对 `vector` 进行排序,并定义了两个比较函数 `compareByName` 和 `compareByPhone` 分别按照姓名和手机号进行排序。最后输出排序后的结果。
如果你想根据其他的条件进行排序,只需要修改比较函数即可。
阅读全文