C++ list容器合并并删除重复元素:merge与unique函数示例
在C++中,list容器的merge函数可以用于将两个已排序的list合并为一个新的有序list。merge函数的第二个参数是一个比较函数,用于确定元素的顺序。\n\n如果你希望删除重复的元素,可以使用unique函数。unique函数会将相邻的重复元素删除,只保留一个。然后再结合merge函数,可以将两个list合并并删除重复元素。\n\n以下是一个示例代码:\n\ncpp\n#include <iostream>\n#include <list>\n#include <algorithm>\n\nbool compFunction(int a, int b) {\n return a < b;\n}\n\nint main() {\n std::list<int> lst1 = {1, 2, 3, 4, 5};\n std::list<int> lst2 = {3, 4, 5, 6, 7};\n\n // 合并两个list\n lst1.merge(lst2, compFunction);\n\n // 删除重复元素\n lst1.unique();\n\n // 输出合并后的list\n for (auto it = lst1.begin(); it != lst1.end(); ++it) {\n std::cout << *it << " ";\n }\n\n return 0;\n}\n\n\n输出结果为:1 2 3 4 5 6 7。在这个例子中,合并后的list保留了两个list中的所有元素,并删除了重复元素。
原文地址: https://www.cveoy.top/t/topic/pcV8 著作权归作者所有。请勿转载和采集!