c++(二)

目录

STL

STL序列容器

1、vector

1.1 vector初始化

1.2 vector常见用法

1.3 顺序访问

1.3.1 向向量a中添加元素


STL

标准模板库

容器:
    特殊的数据结构,实现了数组、链表、队列等待,实质是模板类
​
迭代器:
    一种复杂的指针,可以通过其读写容器中的对象,实质是运算符的重载
​
算法:
    读写容器对象的逻辑算法:排序、遍历、查找等,实质是模板函数
​
空间配置器:
    容器的空间配置管理的模板类
​
配接器:
    用来修饰容器、仿函数、迭代器接口
    
仿函数:
    类似函数,通过重载()运算符来模拟函数行为的类
    
    
STL标准模板库是一种泛型编程。泛型编程关注的是算法,在c++中,利用模板完成编写独立于数据类型的代码
stl容器:数组、链表、队列等,能进行查找、排序、随机排队等
stl序列容器:vector、deque、list
stl关联容器:set、multiset、map、multimap
stl迭代器:iterator

STL序列容器

vector
将元素置于一个动态数组中加以管理。
    优点: 可以随机存取元素(用索引直接存取),数组尾部添加或移除元素非常快。
    缺点:中部或头部安插元素比较费尽
    
    
deque
优点: 可以随机存取元素,数组头部和尾部添加或移除元素非常迅速
缺点: 在中部或头部安插元素比较费时
​
list(双向链表)
不提供随机存储,在任何位置上执行插入或删除动作都非常迅速,内部只需调整一下指针。
    

1、vector

vector是向量类型,它可以容纳许多类型数据。
需要加头文件
 #include<vector>

1.1 vector初始化

1、vector<int
    
    >   a(10);//定义了一个10个整型元素的向量,但其中的元素没有给初始值。
2、vector<int>   a(10,1);//定义了一个10个整型元素的向量,每个元素初值为1
3、vector《int》 b(a)//用向量b来赋值a,整体赋值
4、vector《int》 b(a.begin(),a.begin+3)//向量a中0到2赋值给b
5、int b[7] = {1,2,3,4,5,6,7};
    vector<int> a(b, b+7)//从数组中获得初值
    
 //注意:这里《int》中的类型不局限于int类型   

1.2 vector常见用法

a.back();      //返回a的最后一个元素
a.front() ;      //返回a中第一个元素
a[i];           //返回a中dii个元素
a.clear()       //清空a中元素
a.empty()       //判断a是否为空,空返回true,否则返回false
a.pop_back()     //删除a向量最后一个元素
a.erase(a.begin()+1,a.begin()+3)//从第一个元素删除到begin()+3,但不包括。
a.push.back(5)  //在最后一个元素插入一个,其值为5
a.insert(a.begin()+1,3,5) //从第一个元素插入3个元素值为5
a.size()        //返回a中元素个数
a.capacity()    //返回a在内存中总共可以容纳元素个数
a.resize(10)    //调整元素个数,多则删,少则补,其值随机
a.resize(10,2)  //调整元素个数,多则删,少则补,其值2
a.swap(b)   //将a与b中元素整体性交换
a == b;     //向量比较
   比较还有:!= , >=, <= , > ,<  
​

1.3 顺序访问

1.3.1 向向量a中添加元素

 vector<int> a;
for(int i=0;i<10;i++)
a.push_back(i);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值