RedWoft

To be or not to be, it is a question.
std::remove()

 

代码
#include <iostream>
#include 
<algorithm>
#include 
<deque>

using namespace std;

int main()
{
    
// 填充容器
    deque<unsigned> deqUint;
    
const unsigned uiNumber = 7;
    
for (unsigned i = 1; i < uiNumber; ++i)
    {
        deqUint.push_back(i);
        deqUint.push_front(i);
    }

    
// 容器内的指定元素,迭代器并不知晓如何删除元素
    deque<unsigned>::iterator iter = remove(deqUint.begin(), deqUint.end(), 3);

    
// 逻辑上有效的元素个数
    const int iRealNumber = distance(deqUint.begin(), iter);

    
// 计算逻辑上被移除的元素个数
    const int iRemovedNumber = distance(iter, deqUint.end());

    
// 移除末尾无效元素
    deqUint.erase(iter, deqUint.end());
    
return EXIT_SUCCESS;
}

 

 

posted on 2010-01-04 10:26  RedWoft  阅读(523)  评论(0)    收藏  举报