C++之标准库类型vector

来源:互联网 发布:小程序服务器域名要求 编辑:程序博客网 时间:2024/06/07 04:44

标准库类型vector表示对象的集合,其中所有的对象类型都相同。集合中的每个对象都有一个与之对应的索引,索引用于访问对象。要想使用vector,必须包含适当的头文件:

#include <vector>using namespace std;
vector 初始化vector对象的方法 vector<t> v1 v1是一个空容器,潜在的元素是t类型,执行默认初始化,v1中不含任何元素 vector<t> v2(v1) v2包含v1所有元素的副本 vector<t> v2 = v1 同上 vector<t> v3(n,val) v3包含了n个重复元素,每个元素的值都是val vector<t> v5{a,b,c...}vector<t> v5 = {a,b,c...}等价
  • 向vector中添加元素
//空vector对象vector<int> v2;for (int i = 0;i != 100;++i)    //依次把整数值放到v2尾端    v2.push_back(i);
//从标准输入中读取单词,将其作为vector对象string word;vector<string> text;//空vector对象while (cin >> word)    text.push_back(word);//将word添加到text后面
  • 其他vector操作
vector vector支持的操作 v.empty() v中不含元素,返回真,否则返回假 v.size() 返回v中元素个数 v.push_back(t) 向v尾端添加一个值为t的元素 v[n] 返回v中第n个位置上元素的引用 v1 = v2 用v2中的元素拷贝替换v1中的元素 v1 = {a,b,c...} 用列表中的元素的拷贝替换v1中的元素 v1 == v2 v1和v2相等当且仅当它们的元素数量相同且对应位置的元素都相同
  • 访问vector对象中的元素
vector<int> v{1,2,3,4,5,6,7,8,9};for(auto &i : v)//注意i为一个引用    i *= i;//求元素的平方for (auto i : v)//对于v中的每个元素    cout << i << " ";//输出该元素cout << endl;
  • 不能用下标形式添加元素
//错误代码,注意:vector对象(string对象)的下标运算符可用于访问已存在的元素,而不能用于添加元素。vector<int> ivec;for (decltype(ivec.size() ix = 0;ix != 10;++ix)    ivec[ix] = ix;//ivec 不包含任何元素