读书人

C++ STL 使用小结

发布时间: 2013-10-16 11:29:46 作者: rapoo

C++ STL 使用总结

这个只做简单的总结,用到时再细查。


1、sort 排序

常用,不多说。

sort(dcre,dcre+n); //dcre是数组

也可以定义自己的比较函数

2、unique 删除重复的元素

unique(dcre,dcre+n);


3 priority_queue

  1. //优先级队列默认是使用vector作容器。
  2. priority_queue<int> a;

默认是大顶堆,这样小顶堆

priority_queue<int, vector<int>, greater<int> > q;


4 列表 list

由节点组成的双向链表,每个结点包含着一个元素<list>

5 queue stack

用的也比较多,但比较简单。


6 find

find算法用于查找等于某值的元素。它在迭代器区间[first , last)上查找等于value值的元素

7 serach

用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。

在vector向量容器v1 = {5, 8, 1 , 4}中搜索是否包含子序列容器向量V2 = {8, 1},打印搜索结果“v2的元素包含在v1中,起始元素为:v1[1] ”

  1. iterLocation = search(v1.begin(), v1.end(), v2.begin(), v2.end());
  2. if (iterLocation != v1.end())
  3. {
  4. cout << "v2的元素包含在v1容器中,起始元素为"
  5. << "v1[" << iterLocation - v1.begin() << "]" <<endl;
  6. }
  7. else
  8. {
  9. cout << "v2的元素不包含在v1容器" << endl;
  10. }
  11. return 0;
  12. }


8 search_n

重复元素子序列搜索search_n算法

搜索向量容器ivect = {1,8,8,8,4,,4,3}中有三个连续元素为8

iLocation = search_n(ivect.begin(), ivect.end(), 3, 8);


9 count

count算法用于计算容器中的某个给定值的出现次数。





读书人网 >C++

热点推荐