【C++编程】数组 vector 容器基本操作

avatar
作者
筋斗云
阅读量:4

构造 vector 的四种方法

#include<iostream> #include<vector> using namespace std;  int main() {    // 1. 同时展示常用的赋值操作    vector<int> v1;    for(int i=0; i < 10; i++)    // 赋值 0 1 2 3 4 5 6 7 8 9    {        v1.push_back(i);    }    vector<int> v11;    v11 = v1;  // 赋值 0 1 2 3 4 5 6 7 8 9    v11.assign(v1.begin(), v1.end());  // 赋值 0 1 2 3 4 5 6 7 8 9    v11.assign(10, 1);  // 赋值 1 1 1 1 1 1 1 1 1 1     // 2. 通过区间构造    vector<int> v2(v1.begin(), v1.end());  // 0 1 2 3 4 5 6 7 8 9    // 3. n个element    vector<int> v3(10, 1);  // 1 1 1 1 1 1 1 1 1 1     // 4. 拷贝构造    vector<int> v4(v1);  // 0 1 2 3 4 5 6 7 8 9     return 0;  } 

void printVector(vector<int> &v)  // 逐个元素打印 {     for (vector<int>::iterator i = v.begin(); i<v.end(); i++)     {         cout << *i << endl;     } } 

数组插入和删除:push_backpop_backinserterase

vector<int> v1 = {0,1,2,3,4,5,6,7,8,9}; v1.push_back(10);  // 0 1 2 3 4 5 6 7 8 9 10  			- 尾插 10 v1.pop_back();  // 0 1 2 3 4 5 6 7 8 9 		  			- 尾删 10 v1.insert(v1.begin(), -1);  // -1 0 1 2 3 4 5 6 7 8 9   - v1.begin() 处插入 -1 v1.erase(v1.begin());  // 0 1 2 3 4 5 6 7 8 9	  		- v1.begin() 处删除 -1 

数组容量和大小获取:capacityemptysize

vector<int> v1 = {0,1,2,3,4,5,6,7,8,9}; cout << v1.capacity() << endl;  // 10,是动态扩展的 cout << v1.empty() << endl;     // 0 cout << v1.size() << endl;      // 10 

数组元素互换:swap

vector<int> v1 = {0,1,2,3,4,5,6,7,8,9}; vector<int> v2 = {-0,-1,-2,-3,-4,-5,-6,-7,-8,-9}; v1.swap(v2); // v1: -0,-1,-2,-3,-4,-5,-6,-7,-8,-9 // v2: 0,1,2,3,4,5,6,7,8,9 
  • vector<int>(v).swap(v) 可用来收缩容量,其中 vector<int>(v) 是一个匿名对象

数组排序:sort

// 需要头文件 #include <algorithm> vector<int> v1 = {0,1,3,2,4,8,5,6,7,9}; sort(v1.begin(), v1.end());  // 0 1 2 3 4 5 6 7 8 9  

【博客参考链接】
【黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难】

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!