C++学习日记(容器)

容器:能够操作多种数据结构和算法的模板类和函数库。能够像现实中的容器一样存放各种类型的对象,一个容器中的所有对象必须是同一个类型的。

容器类型:

  • vector(向量)、list(列表)、deque(双队列)、set(集合)、map(映射)、multiset(多重集合)、stack(栈)、queue(队列)、priority_queue(优先队列)、multimap(多重映射)

vector容器(顺序容器)

通过元素在容器中的位置顺序存储和访问元素的

vector<T> v1; //vector是保存类型为T的对象,默认构造函数v1为空
vector<T> v2(v1);         //v2是v1的一个副本
vector<T> v3(n, i)        //v3包含n个值为i的元素
vector<T> v4(n);          //v4含有值初始化的元素的n个副本

vector<int> example(5,1); //5个1
vector<string> s1(10,"apple"); //10个apple

常用操作:
v.empty()//判断v是否为空串 空则返回true 否则为false
s.size()//返回v中字符的个数
v.push_back(a)//在v的末尾添加一个值为a的元素
v[n]//返回v中位置为n的字符
只能通过push_back()在vector<T>对象的最后添加元素

迭代器

使用迭代器可以访问容器中的元素
可以把指针看成一种特殊的迭代器

vector<int>::iterator point;

容器中begain操作返回的迭代器指向第一个元素
end返回的迭代器指向最后一个元素的下一个位置,称为超出末端迭代器。

vector<int> example(10.1);
for(vector<int>::iterator iter=example.begin();iter!=example.end();++iter)
    *iter=0; //将所有的元素都重置为0
迭代器也支持算术操作

关联容器类型(pair和map)

关联容器通过键(key)来存储和访问元素的

pair容器:

包含两个数据值

pair<int,string>example(11,"china");//两个类型名可以不同
pair<string,string>s1("yaoming","china");
string one,two;
one=s1.first;//string对象one中为yaoming
two=s1.second;//two中为china

make_pair:
pair<sring,string> player;
string one,two;
while(cin>>one>>two)
    player=make_pair(one,two); //player中的一个元素为one中的字符串,two为第二个输入的字符串
    //或者 cin>>player.first>>player.second

map容器:

提供一对一的数据处理能力
map<键值类型,关联值类型>m; //创建一个空的map对象

标准I/O库类型

iostream:定义读写控制窗口的输入输出类型
fstream:定义读写文件的输入输出类型
sstream:定义读写string对象的输入输出类型

iostream:
cin>>输入,默认设备为键盘
cout<<输出
cerr输出程序错误消息,默认输出设备为屏幕

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值