C++,标准库类型vector

来源:互联网 发布:ann bp网络分类器 编辑:程序博客网 时间:2024/05/21 09:34

标准库类型vector表示对象的集合,其中所有对象的类型都相同。
vector是一个类模板。

初始化vector的方法

方式 含义 vector< T > v1 v1是一个空vector,它潜在的元素是T类型,执行默认的初始化 vector< T > v2(v1) v2中包含有v1所有元素的副本 vector< T >v2=v1 等价于v2(v1),v2中包含的有v1所有元素的副本 vector< T >v3(n,val) v3包含了n个重复的元素,每个元素的值都是val vector< T >v4(n) v4包含了n个重复执行了值初始化的对象 vector< T >v5{a,b,c…} v5包含了初始化个数的元素,每个元素被赋予相应的初始值 vector< T >v5={a,b,c,…} 等价于v5{a,b,c…}

vector的操作

操作 含义 v.push_back(t) 向vector对象中添加一个值为t的元素 v.empty() 如果v不含有任何元素,则返回true,否则返回false v.size() 返回v中元素的个数 v[n] 返回v中第n个位置上元素的引用 v1=v2 用v2中元素的拷贝替换v1中的元素 v1={a,b,c…} 用列表中的元素拷贝替换v1中的元素 v1==v2 v1和v2相等当且仅当它们的元素数量相同且对应位置的元素值都相同 v1!=v2 <,<=,>,>= 以字典顺序进行比较
#include <cstdio>#include<vector>using namespace std;int main(){    vector<int>v(10,1);    vector<int>v2;    v2=v ;    v2[5]=5;    for(int i=0;i<v.size();i++){        printf("%d\n",v[i]);    }    printf("-----------\n");    for(int i=0;i<v.size();i++){        v2.push_back(2);    }     printf("-----------\n");     for(int i=0;i<v2.size();i++){        printf("%d\n",v2[i]);    }    return 0;}

输出结果:

1111111111----------------------11111511112222222222Process returned 0 (0x0)   execution time : 0.194 sPress any key to continue.