美文网首页
vector容器

vector容器

作者: 简石榴 | 来源:发表于2017-07-21 18:37 被阅读0次

First

定义和初始化vector对象 (主要是()与{ }的区别)

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


vector支持的操作

表达式 含义
v.empty() 如果v中不含任何元素,返回true,否则返回false
v.size() 返回v中元素的个数
v.push_back(t) 向v的末尾添加一个值为t的元素
v[n] 返回v中第n个位置上元素的引用
v1=v2 用v2中的元素替换v1中的元素
v1={a,b...} 用列表中元素的拷贝替换v1中的元素
v1==v2 or v1!=v2 当且仅当它们的元素数量相同且对应位置的元素值都相同时才相同
<,<=,>,>= 以字典顺序进行比较


一些注意的地方

vector<int> v{1,2,3,4,5,6,7,8,9};
for(auto &i : v)  //对于v中的每一个元素(注意:i是一个引用)
     i*=i;
for(auto i : v)
cout<<i<<" ";
cout<<endl;
//for用C11的标准时,注意要想对数组或者容器(严格来说vector并不是一个容器,而是一个类模板)
//中的元素进行修改 i 应用引用的方式使用。


//以10分为一个分数段 统计成绩的数量0~9,10~19,...,90~100
vector<unsigned>scores(11,0) //11个分数段,全部初始化为0
unsigned grade;
while(cin>>grade){
    if(grade<=100)
        ++scores[grade/10];
}

最后文章读到这里的你,有什么好的想法,建议,欢迎在评论区留言。


---小学馆

相关文章

网友评论

      本文标题:vector容器

      本文链接:https://www.haomeiwen.com/subject/vpiekxtx.html