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;
}
#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;
}

浙公网安备 33010602011771号