前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《C++ primer》--第11章

《C++ primer》--第11章

作者头像
猿人谷
发布2018-01-17 16:03:00
5140
发布2018-01-17 16:03:00
举报
文章被收录于专栏:猿人谷

习题11.1 algorithm头文件定义了一个count的函数,其功能类似于find。这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果。编写程序读取一系列int型数据,并将它们存储到vector对象中,然后统计某个指定的值出现了多少次。

代码语言:javascript
复制
//读取一系列int数据,并将它们存储到vector对象中,
//然后使用algorithm头文件中定义的名为count的函数,
//统计某个指定的值出现了多少次
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main()
{
	int ival , searchValue;
	vector<int> ivec;

	//读入int型数据并存储到vector对象中,直至遇到文件结束符
	cout<<"Enter some integers(Ctrl+Z to end): "<<endl;
	while(cin >> ival)
		ivec.push_back(ival);

	cin.clear(); // 使输入流重新有效

	//读入欲统计其出现次数的int值
	cout<<"Enter an integer you want to search: "<<endl;
	cin>>searchValue;

	//使用count函数统计该值出现的次数并输出结果
	cout<<count(ivec.begin() , ivec.end() , searchValue)
		<<"  elements in the vector have value "
		<<searchValue<<endl;

	return 0;
}

习题11.3 用accumulate统计vector<int>容器对象中的元素之和。

解答:

代码语言:javascript
复制
 1 //读取一系列int型数据,并将它们存储到vector对象中,
 2 //然后使用algorithm头文件中定义的名为accumulate的函数,
 3 //统计vector对象中的元素之和
 4 #include<iostream>
 5 #include<vector>
 6 #include<numeric>
 7 using namespace std;
 8 
 9 int main()
10 {
11     int ival;
12     vector<int> ivec;
13 
14     //读入int型数据并存储到vector对象中,直至遇到文件结束符
15     cout<<"Enter some integers(Ctrl+z to end): "<<endl;
16     while(cin >> ival)
17         ivec.push_back(ival);
18 
19     //使用accumulate函数统计vector对象中的元素之和并输出结果
20     cout<<"summation of elements in the vector: "
21         <<accumulate(ivec.begin() , ivec.end() , 0)  //统计vector对象中的元素之和
22         <<endl;
23 
24     return 0;
25 }

11.13 解释三种插入迭代器的区别。

解答:

三种插入迭代器的区别在于插入元素的位置不同:

  • back_inserter,使用push_back实现在容器末端插入。
  • front_inserter,使用push_front实现在容器前段插入。
  • inserter,使用insert实现在容器中指定位置插入。

因此,除了所关联的容器外,inserter还带有第二个实参——指向插入起始位置的迭代器。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-08-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档