2015-03-19 175 views
1

任何人都可以告訴我檢查向量A是否包含向量B元素的最簡單方法?C++檢查向量a是否包含向量b的元素

這將是排序的:

for every element in A (
    if (none of the elements in B exist in A) do something and B changes 
    else (do nothing)) 

我想這可能與一些循環來完成。但是有沒有一個功能可以讓它更容易?

+5

A和B中的元素是否已分類?如果不是,將它們分類是允許的嗎? – 2015-03-19 08:11:36

+0

這可能會有所幫助:http://stackoverflow.com/questions/17394149/how-to-efficiently-compare-vectors-with-c/17394298#17394298 – stefan 2015-03-19 08:13:25

+0

我不完全理解程序的邏輯:循環因爲你似乎沒有在循環體中使用當前元素('如果A中沒有任何元素存在於A中,''A'中的每個元素都循環遍歷'A'的'size'而不是元素,獨立於A中的特定元素)。你能澄清一下嗎? – stefan 2015-03-19 08:17:08

回答

0

std::sort他們,然後用std::set_intersection(或相似的算法)有包括的元素。