算法的选择
泛型算法为这些容器类型和两个内置数组类型的元素提供了操作。这些操作包括Search (find, count), Sort (merge, partition, permutate, reverse, rotate, shuffle, sort), Deletion/Subtitution (remove, replace, swap, unique), Copy, Relational (equal, min, max, includes), Generate (fill, for-each, generate, transform), Set (union, intersection, difference), Heap (make, sort, pop, push), 以及很多深奥的数字操作,例如积分,部分求和,内积(inner product),和临差(adjacent difference)。
在我们使用泛型算法前,当然,我们必须包含进相应的头文件。除了数字算法之外的其它所有算法,我们都这样写:
| #include |
| #include |
| sort( &as[0], &as[ as->Length ] ); |
| //泛型算法:find vector::iterator iter = find( svec->begin(), svec->end(), "Pooh" ); if ( iter != svec->end() ){ ... } //泛型算法:remove…… remove( svec->begin(), svec->end(), "Rabbit" ); |