如何区分C语言中的算法与泛型算法(algorithm、numeric)的适用场景?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3821个文字,预计阅读时间需要16分钟。
原文包含的算法有:- 只读算法:find()、count()、accumulate()、equal()- 写入算法:fill()、fill_n()、back_inserter()、copy()、copy_backward()、replace()、replace_copy()、next_permutation()、prev_permutation()- 重排元素
本文包括的算法有:
- 只读算法:find()、count()、accumulate()、equal()
- 写算法:fill()、fill_n()、back_inserter()、copy()、copy_backward()、replace()、replace_copy()、next_permutation()、prev_permutation()
- 重排元素算法:sort()、stable_sort()、unique()
一、算法简介
大多数算法在头文件algorithm中。标准库还在头文件numeric中定义了一组数值泛型算法
算法是如何工作的:
- 迭代器令算法不依赖于容器类型:算法不依赖于容器所保存的元素类型。只要有一个迭代器可以来访问元素,就可以进行运算
- 但算法依赖于元素类型的操作:虽然迭代器令算法不依赖于容器类型,但大多数算法都是用了一个(多个)元素类型上的操作。例如find用元素类型的==运算符完成每个元素与给定值的比较。其他算法可能要求元素类型支持“<”运算符。
本文共计3821个文字,预计阅读时间需要16分钟。
原文包含的算法有:- 只读算法:find()、count()、accumulate()、equal()- 写入算法:fill()、fill_n()、back_inserter()、copy()、copy_backward()、replace()、replace_copy()、next_permutation()、prev_permutation()- 重排元素
本文包括的算法有:
- 只读算法:find()、count()、accumulate()、equal()
- 写算法:fill()、fill_n()、back_inserter()、copy()、copy_backward()、replace()、replace_copy()、next_permutation()、prev_permutation()
- 重排元素算法:sort()、stable_sort()、unique()
一、算法简介
大多数算法在头文件algorithm中。标准库还在头文件numeric中定义了一组数值泛型算法
算法是如何工作的:
- 迭代器令算法不依赖于容器类型:算法不依赖于容器所保存的元素类型。只要有一个迭代器可以来访问元素,就可以进行运算
- 但算法依赖于元素类型的操作:虽然迭代器令算法不依赖于容器类型,但大多数算法都是用了一个(多个)元素类型上的操作。例如find用元素类型的==运算符完成每个元素与给定值的比较。其他算法可能要求元素类型支持“<”运算符。

