容器与数组

            数组:array   容器:vector

  数组与容器最大的区别是声明时数组的大小固定且保持不变,vector是序列容器,可改变大小的数组。

接下来,分别详细分析数组与容器的不同

   声明: array是一个包装固定大小数组的容器,因此声明时必须确定其大小

              array<datatype,array_size>array_name;

              例:array<int,3> n={1,2,3};

               vector 不需要指定数组长度及数据类型

               vector<datatype> array_name;

               例:vector<int> marks;

    初始化:数组需要在声明时进行赋值进行初始化!!!

             方法一:array<int,3> n={1,2,3};

             方法二:array<int,3> n{{1,2,3}};

             方法三:array n;

                           n={1,2,3};

                    vector与array初始化相同

       大小:array.size();

                  mark.size();

       传递函数:void printArray(const array<int,4> &n)

                        void printVector(const vector<int> &n)

       功能函数:at():访问指定位置的元素

                       front()、back():取第一个、最后元素

                       max_size():可容纳的最大元素数

                       容器:v.resize() 包含指定数量的元素

                       v.push_back() 末尾添加一个新元素

                       v.pop_back() 删除最后一个元素

                       v.capacity() 返回向量分配的存储空间

                        v.reserve() 所需元素大于vector的容量时,增加向量的容量

                        v.insert(v.begin(),100)指定位置前插入元素

                        v.earse()删除一个或多个元素

         Iterarors:迭代器,一种指向项,指向容器元素,拥有迭代容器的功能

                         begin(),end();

                         反向容器:rebegin(),rend()

         多维数组:array<array<int,3>,3>a {{{1,2,3},{4,5,6},{7,8,9}}};

          多维容器:vector<vector<int>> v{{{1,2,3},{4,5,6},{7,8,9}}};

posted @ 2018-12-21 12:04  Nothing-exciting  阅读(561)  评论(0编辑  收藏  举报