判斷list中的元素是否完全相同或完全不相同
阿新 • • 發佈:2018-12-19
判斷一個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; }
方法二:
迴圈遍歷連結串列。。。