📅  最后修改于: 2023-12-03 14:59:46.521000             🧑  作者: Mango
在 C++ STL 中,forward_list
是一个单向链表容器,其中的 merge()
函数用于将两个已排序的 forward_list
合并成一个新的已排序的 forward_list
。
以下是 forward_list merge()
函数的语法:
void merge(forward_list& list);
其中,list
是要和当前链表合并的已排序的 forward_list
。
以下是一个使用 merge()
函数的示例:
#include <iostream>
#include <forward_list>
using namespace std;
int main() {
forward_list<int> list1 = {1, 3, 5};
forward_list<int> list2 = {2, 4, 6};
list1.sort();
list2.sort();
list1.merge(list2);
for (int& x : list1) {
cout << x << " ";
}
cout << endl;
return 0;
}
输出结果为:
1 2 3 4 5 6
首先,我们创建了两个 forward_list
分别存储数字 1、3、5 和 2、4、6。接着,我们对这两个链表进行排序,然后使用 list1.merge(list2)
将它们合并成为一个新的链表。
最后,我们使用循环遍历链表中的元素,并输出它们。
请注意,merge()
函数要求两个链表都已排序。可以通过使用 sort()
函数对链表进行排序来确保它们是有序的。此外,merge()
函数将删除第二个链表,因此请确保你不需要第二个链表中的数据。
通过使用 forward_list
中的 merge()
函数,我们可以轻松地将两个已排序的链表合并成一个新的已排序的链表。