码迷,mamicode.com
首页 > 其他好文 > 详细

STL中的algorithm

时间:2015-12-19 00:10:18      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

STL中的algorithm

  #include<algorithm>中的泛函算法,需要添加头文件。

   搜索算法:find() 、search() 、count() 、find_if() 、search_if() 、count_if() 
   分类排序:sort() 、merge() 
   删除算法:unique() 、remove() 
   生成和变异:generate() 、fill() 、transformation() 、copy() 
   关系算法:equal() 、min() 、max()

eg:

sort(v1.begin(),vi.begin()+v1.size/2); 对v1的前半段元素排序
list<char>::iterator pMiddle =find(cList.begin(),cList.end(),A);找到则返回被查内容第一次出现处指针,否则返回end()。
vector< typeName >::size_type x ; vector< typeName >类型的计数,可用于循环如同for(int i)


以下程序是错误的

vector<int> ivec;   // empty vector

for (vector<int>::size_type ix = 0; ix != 10; ++ix)
     ivec[ix] = ix; // disaster: ivec has no elements

  上述程序试图在ivec中插入10个新元素,元素值依次为0到9的整数。但是,这里ivec是空的vector对象,而且下标只能用于获取已存在的元素。

采用如下写法想容器中写入数据:

for (vector<int>::size_type ix = 0; ix != 10; ++ix)
     ivec.push_back(ix); // ok: adds new element with value ix

  警告:必须是已存在的元素才能用下标操作符进行索引。通过下标操作进行赋值时,不会添加任何元素。仅能对确知已存在的元素进行下标操作

 

STL中的algorithm

标签:

原文地址:http://www.cnblogs.com/icmzn/p/5058395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!