STL总结

易混点:1.set和multiset:set不允元素重复而multiset允许元素重复,set和multiset会将元素自动排序(升序)。

                2.map和multimap:map不允元素重复而multimap允许元素重复,map和multimap也会将元素自动排序。

重点:1.栈:先进后出,只有一个出口,只能操作最顶端的元素。

             2.队列:先进先出,从底端加入元素,从顶端取出元素。

             3.sort:sort排序默认为从大到小排序,若数组中有相同元素也是可以排列的,sort(a,a+k),排列的范围为a[0]到a[k-1].

             4.bool next_permutation(begin,end);改变区间内元素,产生下一个排列。

                bool prev_permutationg(begin,end);产生前一个排列。        多次使用这两个函数可以求出全排列。

            5.upper_bound(begin,end,value)返回>value的元素的第一个位置。

               lower_bound(begin,end,value);返回>=value的元素的第一个位置。        如果所有的元素都比value小那么就返回尾部end,返回的是位置而不是值。

             6.set,multiset,map,multimap这四种容器是有序的,按照顺序进行存储。

用法:栈:

    empty() 堆栈为空则返回真

    pop() 移除栈顶元素

    push() 在栈顶增加元素

    size() 返回栈中元素数目

     top() 返回栈顶元素

   队列:

queue入队,如例:q.push(x); 将x 接到队列的末端。

queue出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。

访问queue队首元素,如例:q.front(),即最早被压入队列的元素。

访问queue队尾元素,如例:q.back(),即最后被压入队列的元素。

判断queue队列空,如例:q.empty(),当队列空时,返回true。

访问队列中的元素个数,如例:q.size()

set:

begin()     ,返回set容器的第一个元素
end() ,返回set容器的最后一个元素
clear()        ,删除set容器中的所有的元素
empty() ,判断set容器是否为空
max_size() ,返回set容器可能包含的元素最大个数
size() ,返回当前set容器中的元素个数
rbegin ,返回的值和end()相同
rend() ,返回的值和rbegin()相同

map:

empty() ,判断set容器是否为空

count(key)返回键值等于key的元素的个数

insert(pos,elem)在pos位置插入一个elem

感受:学习了stl之后,做题的时候可以简便很多,比如排序的时候可以用sort函数直接排序,不用写排序代码,在很多时候用stl写程序既省时又省力。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值