现在的位置: 首页 > 综合 > 正文

第九章 顺序容器(二)

2013年10月15日 ⁄ 综合 ⁄ 共 955字 ⁄ 字号 评论关闭

9.4 vector的自增长

c.capacity();//返回的是储存区域的大小

c.size();//返回的是现有元素的个数

c.reserve(n);//预置储存区的大小,也就是每次当空间不够的时候增加的量

9.5 容器的选用

deque是双向数组

list 是链表

9.6 再谈string 类型

1) 其实string可以看成存储字符的vector

2) 只适用于string类型的操作

 

s.substr(pos,n);//返回字串

s.substr(pos);

s.substr();//返回s的副本

 

s.append(args);//args代表的串接在s后面

s.replace(pos,len,args);//替换

s.replace(b,e,args);//替换

 

3) 查找

s.find(args);//查找第一个args代表的串出现的地方

s.rfind(args);//最后一个

s.find_first_of(args);//args代表的串中的任意字符第一次出现

s.find_last_of(args);//任意字符最后一次出现

s.find_first_not_of(args);//s中查找第一个不属于args的字符

s.find_last_not_of(args);//最后一个不属于args的字符

 

4) 比较

compare();//其实一般还是用<= 这样的关系符号比较习惯

 

9.7 容器适配器

#include<stack>

#include<queue>

 

1) 通用操作

size_type 长度

value_type 元素类型

container_type 基础容器类型

 

2) 初始化

stack<int> stk(deq);//deq的东西放到stk

 

3) 覆写基础容器类型

默认stackqueue都基于deque实现

priority_queue 基于vector实现

 

stack<string,vector<string> >str_stk;//vector为基础类

 

 

4) 堆栈容器

c.empty();

c.size();

c.pop();

c.top();

c.push(item);

 

5) 优先队列和队列

q.empty();

q.size();

q.pop();

q.front();

q.back();

q.top();

q.push(item);

 

 

 

 

抱歉!评论已关闭.