4
我要找一些STL(但是不能增加)容器,它下面的操作後,將包含2個元素:「ABC」和「XYZ」:要使用哪個STL容器,以便忽略重複的元素?
std::XContainer<string> string_XContainer;
string_XContainer.push_back("abc");
string_XContainer.push_back("abc");
string_XContainer.push_back("xyz");
順便說一句,我需要它只是爲了最後調用string_XContainer.size()
來獲得唯一字符串的總數。所以也許我甚至不需要一個容器,並且有一個更優雅的方法來做到這一點?
是的,set是這個容器。 @Igor Oks,但請注意,插入元素的順序不會保留在集合中,我想這不是必需的。 – Naveen 2009-12-15 08:10:47
它不會保持插入順序,但它將保持嚴格的弱排序。 – 2009-12-15 08:15:59
不要忘記,唯一的唯一操作在排序的範圍。你可以測試一個範圍是否使用'std :: adjacent_find(iBegin,iEnd,std :: greater())== iEnd'技巧排序,如果不是,則只應用sort。 –
2009-12-15 09:49:28