C++Primer第五版 第十章 泛型算法

习题首页

10.1 概述

1 泛型算法:实现了一些经典算法的公共接口,如排序和搜索,可以用于不同类型的元素和多种容器类型

2 基本上都定义在algorithm和numeric两个头文件中

3 迭代器令算法不依赖于容器,依赖于元素类型的操作

练习10.1

#include
#include
#include

using namespace std;

int main() {
	int t, n;
	vector vec;
	cout << "请输入int序列个数:" << endl;
	cin >> n;
	cout << "请输入int序列:" << endl;
	for (int i = 0;i < n;i++) {
		cin >> t;
		vec.push_back(t);
	}
	cout << "请输入要统计的值:" << endl;
	int num;
	cin >> num;
	cout << count(vec.begin(), vec.end(), num) << endl;
	
	system("pause");
	return 0;
}

练习10.2

#include
#include
#include

using namespace std;

int main() {
	int num = 0,t = 0;
	string s1;
	list  lst;
	cout << "请输入字符串序列数量" << endl;
	cin >> t;
	cout << "请输入" << t << "个字符串" << endl;
	for (int i = 0; i < t; i++){
		cin >> s1;
		lst.push_back(s1);
	}
	cout << "请输入要统计的字符串:" << endl;
	string s2;
	cin >> s2;
	cout << count(lst.begin(), lst.end(), s2) << endl;

	system("pause");
	return 0;
}

10.2 初识泛型算法

1 标准库基本上都是对一个范围内的容器进行操作,所以参数中总会有两个表示范围的迭代器

2 对于读取而不改变元素的算法,最好使用cbegin()和cend(),否则用begin()和end()

你可能感兴趣的:(C++Primer第五版 第十章 泛型算法)