一个链表list中,要删除掉此中等于某个值的节点,代码怎样写,运行效率最快
一个链表list<int>中,要删除掉其中等于某个值的节点,代码怎样写,运行效率最快?
例如,要删除掉所有等于1的节点。求解。
------解决方案--------------------
遍历一遍,删掉符合的节点呀,难道还有别的办法?
list<int>::iterator pIndex = a.begin();
while(pIndex!=a.end())
{
if(*pIndex==1)pIndex=a.erase(pIndex);
else ++pIndex;
}
------解决方案--------------------
二楼正解啊,C++primer里有
例如,要删除掉所有等于1的节点。求解。
------解决方案--------------------
遍历一遍,删掉符合的节点呀,难道还有别的办法?
list<int>::iterator pIndex = a.begin();
while(pIndex!=a.end())
{
if(*pIndex==1)pIndex=a.erase(pIndex);
else ++pIndex;
}
------解决方案--------------------
二楼正解啊,C++primer里有