1.25学习博客

今天学习了c++stl的vector、map、set等内容

**vector**
vector容器被称为向量容器,是一种序列式容器。vector容器和数组非
常类似,但比数组优越,vector实现的是一个动态数组,在进行元素的
插入和删除的过程中,vector会动态调整所占用的内存空间。在中间插
入和删除慢,但在末端插入和删除快。
在创建vector容器之前,程序中要包含如下内容:
 #include <vector>
 using namespace std;
 创建vector容器的方式有很多,基本形式为vector <T>,其中T表示存储
元素的类型;例如,vector<double> values; 创建存储double类型元素的
一个vector容器values。vector容器包含了很多的成员函数。
例如:  size(),这是求内容大小(长度), 还有push_back(),这是在序列尾部添加元素,以及resize(x)是保留第0到x-1个元素。

**deque**
容器deque和容器vector都是序列式容器,都是采用动态数组来管
理元素,能够快速地随机访问任一个元素,并且能够在容器的尾
部快速地插入和删除元素。不同之处在于,deque还可以在容器
首部快速地插入、删除元素。因此,容器deque也被称为双端队
列。
 使用deque容器之前要加上<deque>头文件:#include<deuqe>。
其格式也和vector相似,deque<类型>名称。
在队头插入元素使用函数push_front(),在队尾插入元素则使用函数push_back().另外,front()表示队头元素,pop_front()表示消除队头元素。
今天也学到了一些字符串操作函数,clear()是删除全部字符,以及c_str()是将内容以C_string返回。

**map**
map是STL的一个关联容器, 一个map是一个键值(key, value)对的序
列,key和value可以是任意的类型。在一个map中key值是唯一的。
map提供一对一的数据处理能力,在编程需要处理一对一数据的
时候,可以采用map进行处理。
使用map容器,首先,程序要有包含map类所在的头文件:#include <map>;
 map对象是模板类,定义map需要key和value两
个模板参数,例如,std:map<int, string> personnel;就定义了一
个用int作为key(索引),相关联的指针指向类型为string的value,
map容器名为personnel,例如personnel[p]=k,这里p则是int类型,k则是string类型。

**set**
 集合(set),就是具有共同性质的一些对象汇集成一个整体。
set容器用于存储同一数据类型的元素,并且能从中取出数据。在
set中每个元素的值唯一,而且系统能根据元素的值自动进行排序。
 使用set容器,首先,程序要有包含set类所在的头文件:#include
<set>。定义set集合对象需要指出集合中元素的类型,例如,
set<int>s;元素以int作为类型,set容器名为s,若有s.insert(x); 则意为将x作为一个元素添加到集合s中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值