当前位置:   article > 正文

c++学习记录 deque容器—插入和删除_c++ deque的insert

c++ deque的insert

1、函数原型

1.1 两端插入操作

  • push_back(elem);          //在容器尾部添加一个数据
  • push_front(elem);          //在容器头部插入一个数据
  • pop_back();                   //删除容器最后一个数据
  • pop_front();                   //删除容器第一个数据

1.2 指定位置操作:

  • insert(pos,elem);                   //在pos位置插入一个elem元素的拷贝,返回新数据的位置
  • insert(pos,n,elem);               //在pos位置插入n个elem数据,无返回值
  • insert(pos,beg,end);             //在pos位置插入[beg,end) 区间的数据,无返回值
  • clear();                                 //清空容器的所有数据
  • erase(beg,end);                   //删除[beg,end) 区间的数据,返回下一个数据的位置
  • erase(pos);                          //删除pos位置的数据,返回下一个数据的位置
  1. #include<iostream>
  2. using namespace std;
  3. #include<deque>
  4. void printDeque(const deque<int>& d)
  5. {
  6. for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
  7. {
  8. cout << *it << " ";
  9. }
  10. cout << endl;
  11. }
  12. //两端操作
  13. void test01()
  14. {
  15. deque<int>d1;
  16. //尾插
  17. d1.push_back(10);
  18. d1.push_back(20);
  19. //头插
  20. d1.push_front(100);
  21. d1.push_front(200);
  22. printDeque(d1);
  23. //尾删
  24. d1.pop_back();
  25. printDeque(d1);
  26. //头删
  27. d1.pop_front();
  28. printDeque(d1);
  29. }
  30. void test02()
  31. {
  32. deque<int>d1;
  33. d1.push_back(10);
  34. d1.push_back(20);
  35. d1.push_front(100);
  36. d1.push_front(200);
  37. printDeque(d1);
  38. //insert插入
  39. d1.insert(d1.begin(), 1000);
  40. printDeque(d1);
  41. d1.insert(d1.begin(), 2, 10000);
  42. printDeque(d1);
  43. //按照区间进行插入
  44. deque<int>d2;
  45. d2.push_back(1);
  46. d2.push_back(2);
  47. d2.push_back(3);
  48. d1.insert(d1.begin(), d2.begin(), d2.end());
  49. printDeque(d1);
  50. }
  51. void test03()
  52. {
  53. deque<int>d1;
  54. d1.push_back(10);
  55. d1.push_back(20);
  56. d1.push_front(100);
  57. d1.push_front(200);
  58. //删除
  59. deque<int>::iterator it = d1.begin();
  60. it++;
  61. d1.erase(it);
  62. printDeque(d1);
  63. //按区间方式删除
  64. //d1.erase(d1.begin(), d1.end());
  65. //清空
  66. d1.clear();
  67. printDeque(d1);
  68. }
  69. int main()
  70. {
  71. test01();
  72. test02();
  73. test03();
  74. system("pause");
  75. return 0;
  76. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/975211
推荐阅读
相关标签
  

闽ICP备14008679号