c++结构体字符串字母的排序示例代码,请给出两个代码示例,一个用到sort函数,一个不使用sort函数
时间: 2024-03-24 12:37:27 浏览: 106
浅析C/C++中sort函数的用法
使用sort函数的示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
struct Student{
int id;
string name;
int age;
};
bool compare(Student a, Student b){
return a.name < b.name;
}
int main(){
Student stu[3] = {
{1001, "Tom", 20},
{1002, "Jerry", 19},
{1003, "Alice", 21}
};
sort(stu, stu+3, compare);
for(int i=0; i<3; i++){
cout << stu[i].id << " " << stu[i].name << " " << stu[i].age << endl;
}
return 0;
}
```
不使用sort函数的示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Student{
int id;
string name;
int age;
};
void bubbleSort(Student *stu, int n){
for(int i=0; i<n-1; i++){
for(int j=0; j<n-i-1; j++){
if(stu[j].name > stu[j+1].name){
Student temp = stu[j];
stu[j] = stu[j+1];
stu[j+1] = temp;
}
}
}
}
int main(){
Student stu[3] = {
{1001, "Tom", 20},
{1002, "Jerry", 19},
{1003, "Alice", 21}
};
bubbleSort(stu, 3);
for(int i=0; i<3; i++){
cout << stu[i].id << " " << stu[i].name << " " << stu[i].age << endl;
}
return 0;
}
```
两个代码示例中都使用了结构体来存储学生信息,以姓名为关键字进行排序,只是一个使用了sort函数,一个使用了冒泡排序。
阅读全文