班级数据包括班级号整形班级名最多20个字符没有空格分隔学生数整形输入n组n小于10班级数据按照班级学生数由小到大排列输出假设不存在相同学生数量的班级的C++代码
时间: 2024-05-06 22:17:03 浏览: 75
以下是一个示例代码,实现了按照班级学生数由小到大排列输出班级数据的功能:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
struct ClassInfo {
int classId;
string className;
int numStudents;
};
bool compareClassInfo(const ClassInfo& c1, const ClassInfo& c2) {
return c1.numStudents < c2.numStudents;
}
int main() {
int n;
cin >> n;
ClassInfo* classList = new ClassInfo[n];
for (int i = 0; i < n; i++) {
cin >> classList[i].classId >> classList[i].className >> classList[i].numStudents;
}
sort(classList, classList + n, compareClassInfo);
for (int i = 0; i < n; i++) {
cout << classList[i].classId << " " << classList[i].className << " " << classList[i].numStudents << endl;
}
delete[] classList;
return 0;
}
```
该代码首先读入班级数据,然后使用 `sort` 函数按照班级学生数排序,最后输出排好序的班级数据。其中,`compareClassInfo` 函数用于比较两个班级数据的大小,以便 `sort` 函数调用。
阅读全文