C转C++(2)

C++相对于C语言新增了一个很重要的东西就是STL(标准模板库),标准模板库包括了容器、算法和迭代器。这可以极大的简化在做算法题时的工作量。

借用菜鸟教程的图片:(C++ STL 教程 | 菜鸟教程 (runoob.com)

vector

vector即向量,可以用来存储变长数组,C语言中的变长数组需要自己动态分配内存还要自己释放内存,而且一开始分配了内存后,数组长度就不可以变化了。

vector相较之下跟更加灵活

命名(不带参数)

#include<iostream>
#include<vector>
using namespace std;
int main(){
    vector <int> vec1;
    vector <float> vec2;
    cout<<vec1.size()<<endl;
}

命名(带参数)

有三种方式可以带参数命名

1. vector<int > (beg,end);

beg是第一个元素指针,end是最后一个元素的后一个指针(左闭右开)。所以,我们要传入几个元素就end对beg就有几个偏移量

2. vector <int> (n,value);

也可以是vector <int> (n);

此时value默认为0

3.vector <int> (vector)

#include<iostream>
#include<vector>
using namespace std;
int main(){
    float s[6]={1.1,4.5,1.4,19.19,3.1415};
    vector <float> vec2(s,s+5);
    for(auto i=vec2.begin();i!=vec2.end();i++)
    cout<<*i<<" ";
    cout<<endl;

    vector <int> vec1(3,10);
    for(auto i=vec1.begin();i!=vec1.end();i++)
    cout<<*i<<" ";
    cout<<endl;

    vector <int> vec3(vec1);
    for(auto i=vec3.begin();i!=vec3.end();i++)
    cout<<*i<<" ";
    cout<<endl;

    vector <int> vec4=vec1;
    for(auto i=vec4.begin();i!=vec4.end();i++)
    cout<<*i<<" ";
    cout<<endl;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值