vector

阅读量: 286 编辑

是 C++ 标准库中的动态数组容器,提供了动态大小的数组功能,可以在运行时动态地增加或减少元素。它属于序列容器(Sequence Containers)的一种,支持快速随机访问和在尾部的常量时间插入、删除。

std::vector 的大小可以在运行时动态变化。它会自动处理内存的分配和释放,因此你可以在程序运行时根据需要动态地添加或删除元素。

函数用法

  • vector<int> v:创建一个 vector,里面的每个元素都是 int 类型

  • vector<int> v(3, 10):创建包含 3 个元素的 vector,每个元素初始值为 10

  • v.capacity():返回重新分配空间前可容纳的最大元素数量

  • v.size():返回vector中元素的个数

  • v.reserve(n):扩大容量为 n

  • v.at(i):返回索引 i 所标识的元素,对 i 会越界检查

  • v[i]:返回索引 i 所标识的元素,和数组用法几乎完全相同,对 i 不越界检查

  • v.push_back(e):在尾部添加一个元素 e

  • v.pop_back():移除最后一个元素但不返回最后一个元素

  • v.front():返回第一个元素,不检查第一个元素是否存在

  • v.back():返回最后一个元素,不检查最后一个元素是否存

  • v.clear():移除所有元素,清空容器

  • v.resize(num):将元素数量改为 num

  • v.resize(num, e):将元素数量改为 num ,默认值是 e

  • v.insert(pos, e):在 pos 位置插入元素 e ,并返回新元素位置

  • v.insert(pos, n, e):在 pos 位置插入 n 个元素 e

  • v.insert(pos, v1.begin, v1.end):在 pos 位置插入区间 v1[begin, end) 的元素

  • v.erase(pos):删除 pos 位置的元素,返回下一个元素的位置

  • v.erase(begin, end):删除区间[begin, end)内所有元素,返回下一个元素的位置

参考程序

// 爱码岛编程
#include <bits/stdc++.h>
using namespace std;

vector<int> v(3, 10);// 初始化

int main(){
	
	cout << v.capacity() << endl; //容量
	cout << v.size() << endl; //元素个数
	
	v.push_back(100); // 加入元素
	
//	v.reserve(100); // 改变容量大小
	cout << v.capacity() << endl;
	cout << v.size() << endl;
	
	v.push_back(200);
	v.push_back(300);
    
    // 循环遍历
	for(int i = 0; i < v.size(); i++){
		cout << v.at(i) << " "; //v[i] 
	}
	cout << endl;
	
    v.pop_back();
	for(int i = 0; i < v.size(); i++){
		cout << v.at(i) << " "; //v[i] 
	}
	
	cout << endl;
	v.resize(10, 100); // 改变元素个数为10,并将新元素初始化值为100
	for(int i = 0; i < v.size(); i++){
		cout << v.at(i) << " "; //v[i] 
	}
    
	return 0;
}
爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司