Преглед изворни кода

vstd: add function to check vector intersection

ArseniyShestakov пре 10 година
родитељ
комит
e4f591ba84
1 измењених фајлова са 10 додато и 0 уклоњено
  1. 10 0
      Global.h

+ 10 - 0
Global.h

@@ -664,6 +664,16 @@ namespace vstd
 		dest.insert(dest.end(), src.begin(), src.end());	
 	}
 
+	template <typename T>
+	std::vector<T> intersection(std::vector<T> &v1, std::vector<T> &v2)
+	{
+		std::vector<T> v3;
+		std::sort(v1.begin(), v1.end());
+		std::sort(v2.begin(), v2.end());
+		std::set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), back_inserter(v3));
+		return v3;
+	}
+
 	using boost::math::round;
 }
 using vstd::operator-=;