判断一个std::list中的元素是否完全相同和完全不同
方法一:
可以将list中的数据放到一个set里面,利用set中的元素的唯一性,再比较set和list的长度
#include <iostream>
#include <list>
#include <set>
#include <vector>
using namespace std;
bool same_num(std::list<int>& data)
{
std::set<int> t_set(data.begin(), data.end());
for (auto& elem : t_set)
{
std::cout << elem << " ";
}
return t_set.size() == size_t(1);
}
bool different_num(std::list<int>& data)
{
std::set<int> t_set(data.begin(), data.end());
for (auto& elem : t_set)
{
std::cout << elem << " ";
}
return t_set.size() == data.size();
}
int main(int argc, char *argv[])
{
std::list<int> t_list{1,2,3,4,5,6};
if (same_num(t_list))
std::cout << "same data\n";
else if (different_num(t_list))
std::cout << "different data\n";
else
std::cout << "other\n";
return 0;
}
方法二:
循环遍历链表。。。

5390

被折叠的 条评论
为什么被折叠?



