C++ Vector详解
  TEZNKK3IfmPf 2023年11月15日 20 0
C++


  • Vector是STL库中的一种数据结构,本质上而言,Vector是一种动态数组结构,何为动态数组?动态数组指的是,在内存上面是连续地址,但是在每次初始化数组的时候,都事先分配好一大块内存,然后再分配给数组元素。

  • Vector的时间复杂度和数组是一样的

  • Vector的增删改查的实现


  • 实例代码:

vector<int> g_vec;
  g_vec.push_back(22);
  cout << g_vec[0] << endl; //时间复杂度 1
vector<int> g_vec;
  g_vec.push_back(22);
  cout << g_vec[0] << endl; //时间复杂度 1
  g_vec.pop_back(); //删除
  • 插入

vector<int> g_vec;
  g_vec.push_back(22);
  cout << g_vec[0] << endl; //时间复杂度 1
  g_vec.pop_back(); //删除
  cout << g_vec.size() << endl;
  g_vec.push_back(12);
  g_vec.push_back(23);
  //插入
  vector <int>::iterator theIterator = g_vec.begin();
  g_vec.insert(theIterator,1,33);
  for (int i = 0 ; i < g_vec.size();i++)
  {
    cout << g_vec[i] << endl;
  }

时间复杂度:
增:O(1)
删: O(1)
插入:O(n):因为插入后,后面的元素需要往后移
erase:O(n):同理

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   24天前   38   0   0 C++
  TEZNKK3IfmPf   24天前   26   0   0 指针C++
  TEZNKK3IfmPf   2024年05月31日   24   0   0 算法C++
TEZNKK3IfmPf