以下是一个示例代码,展示了如何按字母顺序排序一个结构数组:
#include
#include
#include
struct Person {
std::string name;
int age;
};
bool compareByName(const Person& p1, const Person& p2) {
return p1.name < p2.name;
}
int main() {
Person people[5] = {
{"Alice", 25},
{"Bob", 30},
{"Charlie", 20},
{"David", 35},
{"Eve", 28}
};
std::sort(people, people + 5, compareByName);
for (int i = 0; i < 5; i++) {
std::cout << "Name: " << people[i].name << ", Age: " << people[i].age << std::endl;
}
return 0;
}
在这个示例中,我们定义了一个名为Person
的结构体,它包含一个字符串类型的name
成员和一个整数类型的age
成员。
我们还定义了一个名为compareByName
的比较函数,该函数接受两个Person
类型的参数,并根据它们的name
成员进行比较。
在main
函数中,我们创建了一个包含5个Person
对象的数组people
。然后,我们使用std::sort
函数对数组进行排序,传入了比较函数compareByName
作为排序的依据。
最后,我们使用一个循环打印排序后的结果。
这个示例中的排序是根据name
成员进行的,您可以根据实际情况修改比较函数来按照其他标准进行排序。
上一篇:按字母顺序排序的下拉菜单