本文整理汇总了C++中hash_set::erase方法的典型用法代码示例。如果您正苦于以下问题:C++ hash_set::erase方法的具体用法?C++ hash_set::erase怎么用?C++ hash_set::erase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hash_set
的用法示例。
在下文中一共展示了hash_set::erase方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
string square_anagram(string s1, string s2)
{
int len = s1.length(), i;
string ret;
for (i = 0; i < len; i++)
if ((s1[i] >= 'A' && s1[i] <= 'Z'))
break;
if (i == len)
{
if (squares.find(s1) != squares.end() && squares.find(s2) != squares.end())
{
if (s1 > s2)
return s1;
return s2;
}
return "";
}
for (char c = '9'; c >= (i == 0 ? '1' : '0'); c--)
{
char save = s1[i];
if (used.find(c) != used.end())
continue;
replace_all(s1, s2, s1[i], c);
used.insert(c);
if ((ret = square_anagram(s1, s2)) != "")
return ret;
used.erase(c);
replace_all(s1, s2, c, save);
}
return "";
}
示例2: getNB
void getNB(HashGraph* G, int v, int distance, hash_set<int>& result, vector<bool>& mark)
{
assert(distance==1 || distance==2);
EdgeMap* p_neighbors=G->getNeighbors(v);
EdgeMap::iterator pnb;
for (pnb=p_neighbors->begin(); pnb!=p_neighbors->end(); pnb++)
{
UINT w=pnb->first;
if(!mark[w])
result.insert(w);
}
if(distance==1)
return;
hash_set<int>::iterator p;
vector<int> temp;
for(p=result.begin(); p!=result.end(); p++)
temp.push_back(*p);
int imnb_size=result.size();
//result.clear();
for(int i=0; i<imnb_size; i++)
{
p_neighbors=G->getNeighbors(temp[i]);
for (pnb=p_neighbors->begin(); pnb!=p_neighbors->end(); pnb++)
{
UINT w=pnb->first;
if(!mark[w])
result.insert(w); //automatically handel duplication.
}
}
for(int i=0; i<imnb_size; i++)
result.erase(temp[i]);
}
示例3: solve
void solve()
{
int op,x;
for( f>>N; N; --N )
{
f>>op>>x;
switch( op )
{
case 1 :
H.insert(x);
break;
case 2 :
H.erase(x);
break;
case 3 :
g<< ( H.find(x)!=H.end() ) <<"\n";
}
}
}