1.初识vector数组:
数组分为静态数组(传统数组)与动态数组(vector数组)。相比传统数组,vector数组的操作更加方便。
对比(一一对应)
静态数组 : 1.在定义时已经固定了数组长度不会再变化(定长容器)
2.通过常用函数对元素进行操作 (具有一定局限性)
3.删除元素需要将所有元素进行移动,维护连续性
4.不能用某个数组将其直接初始化
动态数组:
1.可以随时操作进行变换长度(变长容器)
2.通过特有函数对元素进行操作
3.直接删除
4.能用某个数组将其直接初始化

2.vector数组的定义:

        a.       vector<存储数据类型名>数组名;                                        //不需要标明数组长度(随时可以插入)
                                                                                    //可以理解为是一个空竹签,竹签上随时可以插上某种口味的糖葫芦(某种数据类型),vector是竹签的属性(即关键字)。
        b.       vector<存储数据类型名>数组名(元素个数)                    //竹签上随时可以插上某种口味的糖葫芦(某种数据类型),现在已经先串上“元素个数”个糖葫芦,但不影响之后再往上串
        c.       vector<存储数据类型名> 数组名(数组名);                        //注意括号内的参数是数组名
                                                                           //用括号中的数组的值初始化新定义的数组(一一对应)
  d.       vector<存储数据类型名> 数组名(元素个数,数值或字符);                       //在b的基础上为每个元素赋初值(初值为括号中的第二个参数)                                                                                                                            

3.vector常用操作函数(vec均指代数组名):

            a.      vec.pop_back() ;    //删除数组的最后一个元素(把最后一个糖葫芦扔掉)

           b.      vec.erase(vec.begin()+i);   // 删除第i+1个元素(不可以直接码vec[10]或10,必须通过这种方式访问)

           c.      vec.clear();             //清空该数组,变成一个“空竹签”

           d.      vec.erase(vec.begin()+i,vec.end()+j);//  将i到j间的元素全部删除(把这几个糖葫芦从串上砍掉)

           e.      vec.push_back();  //在末尾插入一个元素(在括号中写变量名||符合类型的值)

           f.      vec.insert(vec.begin()+i,a);  //在第i个元素后插入a(||符合类型的值)

           g.      vec .begin()  ;         //访问第一个元素(a[0])

           h.      vec.end();                  //访问末尾元素

           i.      vec.empty();         //判断该数组是否为空,空返回1,不空返回0(看看是否还有糖葫芦)

           j.      vec.size() ;               //返回数组长度(看看有几个糖葫芦)

           l.         随学习持续完善中......

4.代码示例:

#include<iostream>
#include<vector>
using namespace std;
char q[100];
int e=100;
vector <int> a;//空“竹签” 
vector <double> b(10);//串10个糖葫芦
vector <char> c;//(100,q);//用q数组给c赋值
vector <int> d(100,1);//先串100个,赋值为1 
int main()
{
    a.push_back(e);  //在末尾插入一个元素(在括号中写变量名||符合类型的值)
    a.pop_back();//删除数组的最后一个元素
    b.clear();//清空b 
    cout<<b.empty();//查看吧是否为空 
    //cout<<c.begin();这三种均不符合语法(仅限访问,不能输出) 
    //cout<<c.end();
    //cout<<d.begin()+1;
    cout<<c[0];//仅限输出,不可用于访问 
    cout<<c.size()<<" ";//返回数组长度(看看有几个糖葫芦)
    d.insert(d.begin()+1,10);//在第一个元素后加入元素10 
    cout<<d[1]<<" ";
    d.erase(d.begin()+1,d.end()+2);//删除1.2之间的元素
    d.erase(a.begin()+2);//删除第3个元素 
    cout<<d[0]; 
    return 0;
}