vector初始化方式
vector<int> v1(10); //预分配10个对象
vector<int> v2(10,0); //生成10个 每个赋值位0
vector<int> v3(v1); //用对象容器初始化
vector<int> v4(v1.begin(),v1.end());
vector<int> v5(v1.begin(),v1.begin() + 4);
int hello[10] = {0,1,2,3,4,5,6,7,8,9};
vector<int> v6(hello,hello + 5);
vector常用内置函数
vecotr<int> v7,v8;
v7.assign(v1.begin(),v1.begin() + 4); //赋值
v8.assign(7,4);
//auto &Tmp = v8.front(); //返回第一个元素
int& Tmp1 = v8.front();
v8.push_back(11); //添加
int& Tmp2 = v8.back(); //返回最后一个元素
int& Tmp3 = v8[3];
v8.clear(); //清除
if(v8.empty()) //判断是否为空
{
cout << "空的" << endl;
}
v8.assign(v1.begin(),v1.begin() + 6);
v8.pop_back();//删除最后一个元素
v8.erase(v8.begin(),v8.begin() + 2);//指定删除
v8.insert(v8.begin(),+1,999); //插入
int num = v8.size(); //个数 真实占用的大小
int n1 = v8.capacity(); //预分配的内存空间 realloc
v8.resize(100); //填充100 里面的值随机
v8.resize(100,123); //填充100 里面的值 123
v8.resize(50); //原来100 容器里面多余的,直接删除
v8.reserve(60); //容器扩充至60
v8.swap(v5); //交换
vector访问
int av[] = {1,2,3,4,5,6,7,8,9,0};
vector<int> a1;
for(int i = 0;i < 10 ;i++)
{
a1.push_back(av[i]);
}
//访问方式1
for(vector<int>::iterator It = a1.begin(); It != a1.end();It++)
{
cout << *It << endl;
}
//访问方式2
for(int i = 0; i<a1.size();i++)
{
cout << a1[i] <<endl;
}
//访问方式3
for(auto &Tmp : a1)
{
cout << Tmp << endl;
}
vector常见算法
int a1[] = {6,2,5,8,9,122,7,8,9,0};
sort(a1.begin(),a1.end()); //sort 从小到大排序
reverse(a1.begin(),a1.end()); //reverse 倒置 不排序
vector<int> b1;
b1.resize(a1.size());
copy(a1.begin(),a1.end(),b1.begin()); //复制
auto pos = find(a1.begin(),a1.end(),4); //查找