STL的基本操作指令
list :
Lists将元素按顺序储存在链表中. 与向量(vectors)相⽐, 它允许快速的插⼊和删除,但是随机访问却⽐较慢. assign() 给list赋值
back() 返回最后⼀个元素
begin() 返回指向第⼀个元素的迭代器
clear() 删除所有元素
empty() 如果list是空的则返回true
end() 返回末尾的迭代器
erase() 删除⼀个元素
front() 返回第⼀个元素
get_allocator() 返回list的配置器
insert() 插⼊⼀个元素到list中
max_size() 返回list能容纳的最⼤元素数量
merge() 合并两个list
pop_back() 删除最后⼀个元素
pop_front() 删除第⼀个元素
push_back() 在list的末尾添加⼀个元素
push_front() 在list的头部添加⼀个元素
rbegin() 返回指向第⼀个元素的逆向迭代器
remove() 从list删除元素
remove_if() 按指定条件删除元素
rend() 指向list末尾的逆向迭代器
resize() 改变list的⼤⼩
reverse() 把list的元素倒转
size() 返回list中的元素个数
sort() 给list排序
splice() 合并两个list
swap() 交换两个list
unique() 删除list中重复的元素
String类:
1) string s; //⽣成⼀个空字符串s
2) string s(str) //拷贝构造函数⽣成str的复制品
3) string s(str,index) //将字符串str内“始于位置index”的部分当作字符串的初值
4) string s(str,index, n) //将字符串str内“始于index且长度顶多n”的部分作为字符串的初值
5) string s(cstr) //将C字符串作为s的初值
6) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
7) string s(n,c) //⽣成⼀个字符串,包含n个c字符
8) string s(str.begin(),d()) //以区间begin():end() (不包含end())内的字符作为字符串s的初值
1) =,assign() //赋以新值
2) swap() //交换两个字符串的内容
字符串截取指令3)+=,append(),push_back() //在尾部添加字符
4) insert() //插⼊字符
5) erase() //删除字符
6) clear() //删除全部字符
7) replace() //替换字符
8) + //串联字符串
9)==,!=,<,<=,>,>=,compare() //⽐较字符串
10)size(),length() //返回字符数量
11) max_size() //返回字符的可能最⼤个数
12) empty() //判断字符串是否为空
13) capacity() //返回重新分配之前的字符容量
14) reserve() //保留⼀定量内存以容纳⼀定数量的字符
15) [ ], at() //存取单⼀字符
16)>>,getline() //从stream读取某值
17) << //将谋值写⼊stream
18) copy() //将某值赋值为⼀个C_string
19) c_str() //将内容以C_string返回
20) data() //将内容以字符数组形式返回
21) substr() //返回某个⼦字符串
22)查函数
23)begin() end() //提供类似STL的迭代器⽀持
24) rbegin() rend() //逆向迭代器
25) get_allocator() //返回配置器
vector动态数组
1 包含头函数 #include<vector>
2 函数的声明: vector<int> v;
vector<int> v[maxn];
vector<int> v(100,1); //100个1
3 操作常⽤:
v.push_back(x); 在最后添加⼀个元素x
v.pop_back(); 删去最后⼀个元素
v.begin(); 返回第⼀个元素的指针
v.end();返回最后⼀个元素的指针
v.at(n);返回n位置的元素
v.clear();清空数组
v.size();返回数组长度
v.front();返回第⼀个元素
v.back();返回最后⼀个元素
v.empty();如果数组为空返回true,否则返回false
v.resize(n);重新定义数组⼤⼩为n
set 元素
1、包含头函数: #include<set>
2、函数声明: set<int> s; (string等)
3、set是集合,不会包含重复的元素。因此可以⽤来查统计不重复的元素
4、操作常⽤:
s.insert(x);插⼊元素x
s.erase(x);删除元素x(如果x存在)
if (s.find(x)!=s.end()) 判断元素是否属于集合(因为如果不属于返回值为s.end()) s.size();返回集合长度
s.empty();如果集合为空,则返回true
s.clear();清空集合
s.begin();指向第⼀个元素位置
s.end();指向最后⼀个元素后⾯
set<int>::iterator it; 定义⼀个指针
s.count(i); i 在集合中,返回 1
map 映射
1、包含头函数: #include<map>
2、函数声明: map<int,string> m1;
map<string,int> m2;
3 map是将数据进⾏⼀对⼀的对应,使其更好描述。
4 操作常⽤:
(1)读⼊数据:m1[1]="the_first_one";
(2)数据⼤⼩:len=m.size();
(3)数据遍历:for(int i=1;i<=len;i++) cout<<m1[i];
(4)数据查:m.count() ;不能返回位置,只返回true、false;
m.find(); 返回位置指针,不在中就返回m.end();
(5)数据清空:m.clear();
queue 队列
1、包含头函数 #include<queue>
2、声明: queue<int> q;
3、queue在队列的使⽤中,较⾃定义的数组更⽅便,所以常使⽤在⼴搜中。
4、操作常⽤:
q.empty();如果队列为空则返回true
q.front();返回队列第⼀个值
q.pop();删除队列最后⼀个
q.push(x);添加x到队列最后
q.size();返回队列长度
(资料为搜索所得,如有侵权,联系⽴删)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论