150725培训心得(vector)

vector(不定长数组)

         在C语言中,数组定义必须给定长度。可是有的时候太浪费空间,能够利用STL中vector函数来解决问题。
1 基本操作

(1)头文件#include<vector>


(2)创建vector对象。vector<int> vec;


(3)尾部插入数字:vec.push_back(a);


    尾部删除数字:vec.pop_back(a);

(4)使用下标訪问元素。cout<<vec[0]<<endl;      记住下标是从0開始的。


(5)插入元素:    vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;


(6)删除元素:    vec.erase(vec.begin()+2);删除第3个元素


                 vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0開始


(7)向量大小:vec.size();


(8)清空:vec.clear();


(9)初始化:memset(vec,0,sizeof(vec));


(10)判空:vec.empyt();       空则返回1,不空则返回0



   vector<int>a就是一个类似于int a[]的整数数组,仅仅只是他的长度不确定。能够用a.size()读取他的长度。


   而vector<int>a[max]就是一个二维数组,仅仅是第一维的大小是固定的(不超过max),二维的大小就不固定了,


   有时候n太大了,假设直接建立二维数组a[n][n]。这种二维数组绝对超出内存,就须要用到vector不定长的特性。
原文地址:https://www.cnblogs.com/cynchanpin/p/6794614.html