qfedu-cpp-level/day9/stl_deque_demo/d8.cpp

38 lines
702 B
C++
Raw Normal View History

// deque 的删除操作
#include <bits/stdc++.h>
using namespace std;
template <typename T>
void print(deque<T> &dq)
{
typename deque<T>::iterator it = dq.begin();
while (it != dq.end())
{
cout << *it << " ";
it++;
}
cout << endl;
}
int main()
{
string m[] = {"a", "b", "c", "d", "e"};
deque<string> dq(m, m + 5);
print(dq);
deque<string>::iterator del_it = dq.begin() + 1;
// for (int i = 0; i < 3; i++)
// {
// // dq.erase() 会删除当前元素并返回下一个元素的迭代器
// del_it = dq.erase(del_it);
// }
// 第二种删除方式
dq.erase(del_it, del_it + 3);
print(dq);
return 0;
}