码迷,mamicode.com
首页 > 编程语言 > 详细

读书备忘录--C++标准库

时间:2015-10-27 11:08:27      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

顺序容器

vector

类似数组,连续存储。适合随机访问,尾部插入。

list 

双向链表,内存可以不连续。适合任意位置的删除和插入。

deque

支持在两端的操作push_back,push_front,pop_back,pop_front等

 

常用操作

1.添加元素

c.push_back(t)      向后添加元素

c.push_front(t)      向前添加元素              只适用list和deque

c.insert(p,t)           迭代器p前添加元素

2.访问元素

c.back()                最后一个元素

c.front()                第一个元素

*p                         迭代器p指向的元素

c[i]                        第i+1个元素                 只适用与vector和deque

3.删除元素

c.erase(p)           删除p指向元素

c.clear()              删除所有元素

c.pop_back()      删除最后一个元素

c.pop_front()      删除第一个元素            只适合list和deque

4.交换元素

c1.swap(c2) 

5.元素个数

m.empty()         检验是否空

m.size()            元素个数

 

常用函数

计数

count_if(c.begin(),c.end(),fun)

查找

find(c.begin(),c.end(),x)

排序

sort(c.begin(),c.end())                    适用vector,deque

stable_sort(c.begin(),c.end())        稳定排序,适用vector,deque

s.sort()                                           适用list

反转

reverse(c.begin(),c.end())            适用vector,deque

s.reverse()                                    适用list

去重复

vector,deque

sort(c.begin(),c.end())

c.erase(unique(c.begin(),c.end()),c.end())

list

s.sort()

s.unique()

 

string

顺序容器中支持的操作

s.empty();s.size();s.begin(); s.end();s.insert(p,t);s.erase(p);s[];

只适用与string的操作

s.substr(pos,n)               返回字符串包含下标pos开始的n个字符

s.append(args)               字符串后添加args表示字符串

s.repalce(pos,len,args)   替换字符串s中pos开始的len个字符

查找操作

s.find(args)

s.find_first_of(args)

s.find_last_of(args)

s.find_first_not_of(args)

args: (c,pos),(cp,pos)

 

容器适配器

s.empty()

s.size()

s.pop()                     删除栈顶/队首元素

s.top()                      返回栈顶元素          适用stack

s.push(item)             栈顶压入元素

q.front()                   返回队首元素           适用queue

q.back()                  返回队尾元素           适用queue

 

 

关联容器

map

对象元素是键-值对,键是唯一的,且元素按键排序存放。

 set

存放一组键的集合,键不重复

 

常用操作

0.定义元素

map<string,int> m;

set<string> s;

1.添加元素

m["a"] = 1

s.insert("a")                                                         适用set

m.insert(make_pair("a",1))                                    适用map

m.insert(map<string,int>::value_type("a",1))          适用map

2.访问元素

m["a"]                适用map

iter->second       适用map

*iter                   适用set

3.删除元素

m.erase(p)          p为键或迭代器

4.查找元素

m.find(k)          返回指向键k的索引

m.count(k)       返回0或1

5.元素个数 

m.empty()         检验是否空

m.size()            元素个数

 

读书备忘录--C++标准库

标签:

原文地址:http://www.cnblogs.com/fypp/p/4913433.html

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