posts - 274,  comments - 1258,  trackbacks - 0

STL

概述:

使用容器前增加 #pragma warning(disable: 4786) 指令

字符串容器只储存指针,请另外用数组存放真正的串(当然你也可以使用STLstring)

断言

在模板参数,传递类名,在 ( 离散 ) 函数参数中,使用函数名 ( myStruct(); myFunc )

内置 <functional> greater <T>, less<T>, greater_equal<T>, less_equal<T>, equal_to<T>, not_equal_to<T>

自定义: struct strlt{ // 字典排序

       bool operator ()(const char* a, const char*b) const{

              return strcmp(a,b)<0;

       }

};

关联型容器

容器

头文件

 

set<Key, Compare, Alloc>

<set>

begin() end()

clear()empty()size()

insert(t/p,t/I,j)erase(k/p/p,q)

find(k)~O(logN) count(k)

lower_bound(k)~O(logN)upper_bound(k) ~O(logN)

 

multiset<Key, Compare, Alloc>

map<Key, Data, Compare, Alloc>

<map>

operator[](k)

不要用 insert()

multimap<Key, Data, Compare, Alloc>

insert(pair)

 

方法详解

类型

名称

示例

备注

容器成员函数

begin() end()

p=c.begin(); p!=c.end();

[ c.being(),c.end() )

clear()

c.clear();

 

empty()

if( c.empty() );

 

size()

int len=c.size();

 

insert(t/p,t/I,j)

c.inset(n) (p,n) (pbgn, pend)

 

erase(k /p /p,q)

c.erase(k) (p) (pbgn, pend)

 

find(k)

p=c.find(k);

Y:*p=k N:p=c.end();

count(k)

int count= c.count(k)

 

lower_bound(k)

p=c.lower_bound(k)

*p>=k p 最前

upper_bound(k)

p=c.upper_bound(k)

*p>k p 最前

operator[](k)

day[“Feb”]=28

可用于增加,修改

 


 

 

类型

名称

示例

备注

游离函数

 

作用于

数组

search()

p=search (s1, s1+ len1, s2, s2 + len2);

查子串 A(n)O(n*m)

search_n()

p=search_n(first, last, count, val)

查重复元素子串 O(l-f)

unique()

newend=(first,last,myEqual);

除去重复元素 ( 留首 )=(l-f-1)

unique_copy()

newend=(first,last,opFirst,myEqual);

 

lower_bound()

pb=c.lower_bound(first,last,k,myEqual)

*p>=k p 最前

要求升序

log(l-f)+1

upper_bound()

pe=c.upper_bound(first,last,k,myEqual)

*p>k p 最前

inplace_merge ()

inplace_merge(first,middle,last,myLess);

[f,m) [m,l) 都升序→ [f,l] 升序

关于set的:

后三者返回 newEnd

includes,set_union~max(m,n), set_intersection~min(m,n)

set_difference~max(m-n,0),set_symmetric_difference~|m-n|

可模拟集和多重集, ~ 号后为出现 m n 次的元素出现次数

关于 heap 的:

全部返回 void

push_heap~logN p op_heap ~logN

m ake_heap~O(3N) sort_heap~O(NlogN)

参数都是 (f,l,less),

push pop 的元素是 *(l-1)

power()

result=power(T t, int n)

O(log n) 次乘法

 

 

 

 

 

---
本文章使用开源内容管理kicoy发布

posted on 2006-06-14 13:57 踏雪赤兔 阅读(726) 评论(0)  编辑 收藏 引用 所属分类: 零件仓库速查手册
只有注册用户登录后才能发表评论。

百度空间| 见闻日记| 编程感悟
我的twitter


LOGO

自我介绍:百度厂基础平台车间的一名挨踢民工。擅长C++、算法、语言设计、分布式计算,也用过Java,Python, PHP,JS/AS等语言开发。请关注我的twitter (免翻墙版) 发QQ消息


添加到收藏夹 Locations of visitors to this page

常用链接

随笔分类(300)

随笔档案(274)

文章分类(38)

相册

收藏夹(54)

与博主互动

博客手拉手

搜索

  •  

积分与排名

  • 积分 - 392993
  • 排名 - 10

最新评论

阅读排行榜

评论排行榜