将自定义对象Worker存到两个链表,用merge合并,再用迭代器遍历输出合并各结点
时间: 2024-03-16 16:43:40 浏览: 89
实现两个链表的合并
好的,我理解了你的问题。我假设你已经定义了Worker类并且实现了相应的链表。那么下面是一份示例代码,演示如何将两个链表合并并输出结果:
```c++
#include <iostream>
#include <list>
using namespace std;
class Worker {
public:
string name;
int age;
Worker() {}
Worker(string name, int age) : name(name), age(age) {}
};
int main() {
// 初始化两个链表
list<Worker> list1 = {Worker("Tom", 25), Worker("Jerry", 30)};
list<Worker> list2 = {Worker("Alice", 28), Worker("Bob", 35)};
// 将 list2 合并到 list1 中
list1.merge(list2);
// 遍历输出合并后的链表
for (auto it = list1.begin(); it != list1.end(); it++) {
cout << "Name: " << it->name << ", Age: " << it->age << endl;
}
return 0;
}
```
在上面的代码中,我们使用了STL中的`std::list`作为链表,`Worker`类作为链表中的元素。首先,我们初始化两个链表`list1`和`list2`,并将`list2`合并到`list1`中,这个过程可以使用`std::list::merge`函数实现。最后,我们使用迭代器`std::list::iterator`遍历输出合并后的链表元素。
希望这个示例代码能够帮助你解决问题。如果你还有其他问题或者需要进一步的帮助,请随时提出。
阅读全文