C++笔记--Vector

Posted ljt2724960661

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++笔记--Vector相关的知识,希望对你有一定的参考价值。

这一节主要了解vector用法,向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。一般使用它时需要导入vector头文件,如下:

#include <vector>
std::vector<T> vector_name;

容器特性
1.顺序序列
顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。
2.动态数组
支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。提供了在序列末尾相对快速地添加/删除元素的操作。
3.能够感知内存分配器的(Allocator-aware)
容器使用一个内存分配器对象来动态地处理它的存储需求。

常见API:

栗子:

#include <iostream>
#include <vector>
using namespace std;

int main() 

  // 初始化
  vector<int> vector1 = 1, 2, 3, 4, 5;
  vector<int> vector26, 7, 8, 9, 10;
  vector<int> vector3(5, 12);
  cout << "vector1 = "; 
  for (const int& i : vector1) 
    cout << i << "  ";
  
  cout << "\\nvector2 = ";

  for (const int& i : vector2) 
    cout << i << "  ";
  
  cout << "\\nvector3 = ";
  // ranged loop
  for (int i : vector3) 
    cout << i << "  ";
    
  // 添加元素
   vector1.push_back(6);
  vector1.push_back(7);  
   cout << "\\nUpdated vector1: ";
  for (const int& i : vector1) 
    cout << i << "  ";
  
  //访问元素
   cout << "Element at Index 2: " << vector1.at(2) << endl;   
   //改变元素
    vector1.at(2) = 9;
   cout << "Element  changed at Index 2: " << vector1.at(2) << endl;   
   //删除最后一个元素
    vector1.pop_back();
    for (int i : vector1) 
    cout << "After delete  Show Content : "<<i << "\\n ";
     
  return 0;

输出:

vector1 = 1  2  3  4  5  
vector2 = 6  7  8  9  10  
vector3 = 12  12  12  12  12  
Updated vector1: 1  2  3  4  5  6  7  Element at Index 2: 3
Element  changed at Index 2: 9
After delete  Show Content : 1
 After delete  Show Content : 2
 After delete  Show Content : 9
 After delete  Show Content : 4
 After delete  Show Content : 5
 After delete  Show Content : 6
 

以上是关于C++笔记--Vector的主要内容,如果未能解决你的问题,请参考以下文章

C++笔记--Vector

C++笔记--Vector

C++学习笔记 :vector遍历N种方法

C++(笔记)容器(vector)作为函数参数如何传参

C++提高笔记(二:容器和常用算法部分)

C++ Primer 5th 阅读笔记:字符串,vector 和数组