C++ vector

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); //查找

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值