当前位置:   article > 正文

C++ 向量(vector) 的使用_c++向量使用

c++向量使用

向量(vector)是什么

向量(vector)是属于STL(Standard Template Library, 标准模板库)中的一种随机访问数组的类型.

使用的时候需要使用#include <vector> 引入,否则会报错,

向量的初始化

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. #include <vector>
  5. int main()
  6. {
  7. // 创建一个空的
  8. vector<int> a;
  9. cout << a.size() << endl;
  10. // 创建一个10个元素对象
  11. vector<int> b(10);
  12. // 创建5个元素且5个元素都为明天
  13. cout << b.size() << endl;
  14. vector<string> c(5, "明天");
  15. for (int i = 0; i < b.size(); i++)
  16. {
  17. cout << c[i] << endl;
  18. }
  19. return 0;
  20. }

向量(vector)方法说明

函数说明
assign(first,last)用迭代器first和last所在元素替换向量元素
assign(num,val)用val的num个副本替换向量元素
at(n)返回向量中第n个位置元素的值
begin向量中第一个元素的引用
end向量中最后一个元素的引用
size返回向量的个数
front获取向量中第一个元素
back获取向量中最后一个元素
empty判断向量是否为空,为空返回true
clear清空向量元素
pop_back删除向量中最后一个元素
rbegin返回一个反向迭代器,指向向量末尾元素之后
rend返回一个反向迭代器,指向向量起始元素
erase(i)删除第i位置的元素(注意不能直接为数组,需要用begin或者end)
erase(start,end)

删除指定的元素返回,注意是前包含后不包含,里面不能是数字

capacity

当前vector分配的大小

insert(i,x)把 i 插入到x位置
insert(i,x,y)把 i 插入到x到y 的位置
swap与另一个vector交换数据

demo 练习vector的使用

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. #include <vector>
  5. int main()
  6. {
  7. // 声明一个int 类型向量
  8. vector<string> ve;
  9. // 获取默认向量的size
  10. cout << ve.size() << endl;
  11. //在末尾位置添加元素
  12. ve.push_back("赵");
  13. ve.push_back("钱");
  14. ve.push_back("孙");
  15. ve.push_back("李");
  16. // 获取向量的size
  17. cout << ve.size() << endl;
  18. // 当前vector分配的大小
  19. cout << ve.capacity() << endl;
  20. // 开始的位置插入元素
  21. ve.insert(ve.begin(),"百家姓:");
  22. // 结束的位置插入元素
  23. ve.insert(ve.end(),"ok");
  24. //删除指定的元素返回,注意是前包含后不包含,里面不能是数字,
  25. // ve.erase(ve.begin(),ve.begin()+2);
  26. // 删除第二个向量元素
  27. ve.erase(ve.begin()+1);
  28. //删除最后一个元素
  29. ve.pop_back();
  30. // for遍历向量的元素
  31. for (int i = 0; i < ve.size(); i++)
  32. {
  33. cout << ve[i] << endl;
  34. }
  35. //使用迭代器遍历元素
  36. for(vector<string>::iterator it=ve.begin();it!=ve.end();it++){
  37. cout<<*it<<endl;
  38. }
  39. // 获取向量第一个元素
  40. cout << ve.front() << endl;
  41. // 获取向量最后一个元素
  42. cout << ve.back() << endl;
  43. //获取第3个位置的元素
  44. cout << ve.at(2) << endl;
  45. // 向量判空
  46. if (ve.empty())
  47. {
  48. cout << "ve为空" << endl;
  49. }
  50. else
  51. {
  52. cout << "ve不为空" << endl;
  53. }
  54. // 清空
  55. ve.clear();
  56. return 0;
  57. }

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

闽ICP备14008679号