学习vector的第一天

关于vector 的初步学习

一.关于vector的简单介绍

1.vector实际上是对动态数组的封装;

2.可以向数组一样用下标访问元素,若vector长度为n,则其下标的范围是0~n-1;

3.根据下标访问元素效率高;

4.vector对象的空间随着插入,删除操作自动调整;

5.因为空间自动调整比较耗费时间,因此频繁地插入删除的情况下,vector效率稍差。

使用vector

1.万能头文件 #include<bits/stdc++.h>;

2.或者 除了标准头文件以为还要 #include<vector>;

二.vector-对象的创建

1.vector<元素的类型>向量的名称;

例如:

1.vector<int>v1; //创建了一个int型的向量

2.vector<string>s1;//创建了一个string型的向量

2.从已有的向量复制创建向量

例如:

1.vector<int>v2(v1);//拷贝v1的内容到v2当中去

3.创建10个元素的向量

例如:

1.vector<string>v1(10);

4.创建10个元素的向量且所有的元素均为1.55

例如:

1.vector<int>v1(10,1.55);

5.创建向量的指针

例如:

1.vector<int>*pvec = new vector <int>(10,-5)

//指针指向向量才有意义!

三.对vector的基本操作

1.在vector的尾部添加元素

使用push_back()函数向vector尾部添加元素

例如:这样操作获得了一个具有两个元素的vector,且v1[0]=1,v1[1]=2;

  1. int main(void)
    {
       vector <int> v1; //对象的创建
       v1.push_back(1);
       v1.push_back(2);`
       return 0;
    }
    

2.在任意位置插入元素

使用insert()函数向vector添加函数

例如:开头位置 begin()

​ 末尾位置 end()

int main(void)
{
    vector<int>v1;
    v1.push_back(1);
    v1.push_back(2);
    v1.insert(begin(),0);//从头部插入
    v1.insert(end(),4);//从尾部插入
    v1.insert(end()-1,3);//从倒数第二个位置插入
    return 0;   
}

3.vector用下标去访问与元素

这一点与结构体类似,没什么好说的。

4.在vector的尾部删除元素

使用pop_back()函数删除最后一个函数

当v1[0]=0, v1[1]=1, v1[2]=2, v1[3]=3, v1[4]=10时,

我们采用代码v1.pop_back();后,//删除元素10;

此时v1中元素更新为:v1[0]=0, v1[1]=1, v1[2]=2, v1[3]=3,

5.在vector任意位置删除元素

使用函数erase()删除任意位置的元素

erase :是动词 本意为 抹去,擦掉,删除。

和insert()函数的用法类似,不做介绍。

四.关于vector一部分函数的使用

例如:

1. v.size()        //返回向量的大小;
2. v.max_size()    //返回向量可容纳的最大个数;
3. v.empty()       //返回向量是否有为空;
4. v.resize(n)     //调整向量的大小,使其可以容纳n个元素,如果n<v1.resize(),则删除多出来的元素;否则,添加新的元素。
5. v.resize(n,t)   //调整向量的大小,使其可以容纳n个元素,所有新添加的元素初始化为t。
6. v.capacity()    //获取向量的容量,再分配内存空间之前所能容纳的元素的个数。
上一篇:c++priemr第十五章笔记 15.8容器与继承


下一篇:桶排序