编程题(STL)。首先建立两个int类型的list容器,利用容器的merge算法将其合并,再用容器的sort算法对合并后的容器中数据进行排序。然后设计一个学生类,成员为:学号,姓名,年龄。把5个学生类对象装入vector容器
时间: 2024-02-15 10:05:44 浏览: 78
好的,我会为你解答这道编程题。
首先,建立两个int类型的list容器,并将它们合并并排序,代码如下:
```cpp
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> list1 = { 3, 6, 1, 4, 7 };
list<int> list2 = { 2, 9, 5, 8 };
list1.merge(list2);
list1.sort();
for (auto i : list1) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
输出结果为:1 2 3 4 5 6 7 8 9。
接着,我们需要设计一个学生类,并将5个学生对象存入vector容器中,代码如下:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Student {
public:
Student(int num, string name, int age)
: num_(num), name_(name), age_(age) {}
int num() const { return num_; }
string name() const { return name_; }
int age() const { return age_; }
private:
int num_;
string name_;
int age_;
};
int main() {
vector<Student> students = {
{ 1001, "张三", 18 },
{ 1002, "李四", 19 },
{ 1003, "王五", 20 },
{ 1004, "赵六", 21 },
{ 1005, "钱七", 22 }
};
for (auto s : students) {
cout << s.num() << " " << s.name() << " " << s.age() << endl;
}
return 0;
}
```
输出结果为:
```
1001 张三 18
1002 李四 19
1003 王五 20
1004 赵六 21
1005 钱七 22
```
以上就是本题的解答,希望可以帮到你。
阅读全文