Effective STL -- 5. Algorithm
来源:互联网 发布:2017淘宝税收新政策 编辑:程序博客网 时间:2024/06/06 04:07
30. 确保目标区间足够大
vector<int> values; vector<int> results; transform(values.begin(), values.end(), back_inserter(results),//back_inserter返回迭代器将使得push_back被调用(vector,string,deque, list) transmogrify); list<int> results; transform(values.rbegin(), values.rend(), front_inserter(results),//font_inserter返回迭代器将使得push_front调用(deque list) transmogrify);31. 了解各种于排序相关的选择
如果需要对vector, string, deque 或者数组中元素进行一次完全排序,那么可以使用sort或者stable_sort
sort(vect.begin(), vect.end()); sort(vect.begin(), vect.end(), less<int>());如果有一个vector, string, deque 或者素组,并且只需要对等价性最前面的n个元素进行排序,那么可以使用partial_sort
partial_sort(vect.begin(), vect.begin()+5, vect.end(),less<student>());如果...,并且需要找到第n个上面的元素,nth_element
nth_element(vect.begin(), vect.begin()+3, vect.end(),less<student>());如果需要将一个标准序列容器中的元素按照是否满足某个条件区分开来,partion, stable partion
partion(vect.begin, vect.end(), hasAcceptableQuality);如果数组在list中,直接调用partion和stable_partion;用list::sort 代替sort stable_sort。
32. 如果确实需要删除元素,则需要在remove后调用erase
v.erase(remove(v.begin(), v.end(), 99), v.end());
list 中 唯一一个 remove 是的确删除了容器中元素的函数
33. 对包含指针的容器使用remove时要特别小心34.
- Effective STL -- 5. Algorithm
- Effective STL 43 Prefer algorithm calls to hand-written loops
- stl algorithm
- 【STL】algorithm
- STL algorithm
- STL-algorithm
- STL algorithm
- 【STL】algorithm
- STL algorithm
- Effective STL 46 Consider function objects instead of functions as algorithm parameters
- Effective STL
- Effective STL
- Effective STL
- Effective stl
- Effective STL
- Effective STL
- Effective STL
- effective STL
- 你要的生活 (sz.vomo.com.cn)
- iOS本地存储--c语言方式例子
- 小故事
- 视图查不到数据的原因和解决办法 .
- 改NavigationBar背景
- Effective STL -- 5. Algorithm
- 自己动手写一个可重用的登录测试程序
- 修改qte启动时默认背景颜色
- UDP 穿透NAT解析 TCP 穿透NAT解析
- oracle sql
- linux中用gcc编译源代码的四个步骤(转载)
- mysql关键字
- java 正则验证IP
- EBS多OU和多帐套客户化总结