美文网首页
网易云C++第六周笔记(GeekBand)

网易云C++第六周笔记(GeekBand)

作者: 林小七Raul | 来源:发表于2016-08-23 15:31 被阅读0次

1.各种不同的容器
(1)stack 栈,栈是一种只在一端进,在同一端出的容器,也就是fist in last out(FILO),栈的支持的操作有增加(push),删除(pop)。获取顶端元素


屏幕快照 2016-08-22 23.14.27.png

当使用pop函数时,删除的永远是最顶端的元素。另外stack只能访问顶端元素,所以无法对stack进行遍历

(2)Queue队列,和stack相反,Queue是一种从一端进,在另一端出的数据结构,也就是fast in fist out(FIFO),这就像我们平时排队买饭一样。Queun可以进行删除(pop),增加(push),获取前端元素(front),获取后端元素(back)等操作。


屏幕快照 2016-08-22 23.38.44.png

同样,队列只能访问最前和最后的元素,所以也无法对队列进行遍历。
(3)map,一种关联容器,map是一种关联容器,存放key/value键值对,注意在map中不允许出现重复的key,map的一些操作如下

屏幕快照 2016-08-22 23.53.30.png

(4)mulitiMap,基本上和map特性差不多,但在Multimap中允许出现重复的key。
(5)set,关联容器,关键字即值,只保存关键字的容器,我们可以通过关键字来获取与之对应的值,在set中,默认的是less排序,比如下面的例子:


屏幕快照 2016-08-24 21.45.40.png
屏幕快照 2016-08-24 21.45.52.png

以下是set一些基本算法


屏幕快照 2016-08-24 21.58.44.png
屏幕快照 2016-08-24 22.02.43.png 屏幕快照 2016-08-24 22.06.39.png

于set相关的算法有很多,就不一一例举。
还要注意的是,set不允许通过迭代器改变对象成员

2.仿函数
仿函数又称为函数对象,其作用相当于一个函数指针,可以用一个相应的类型数据接受这个函数处理的对象。下面是一个仿函数的实例


屏幕快照 2016-08-24 22.31.55.png
屏幕快照 2016-08-24 22.32.09.png

set1排序方式由自定义的仿函数决定,需要注意的是,仿函数必须要重载operator(),

相关文章

网友评论

      本文标题:网易云C++第六周笔记(GeekBand)

      本文链接:https://www.haomeiwen.com/subject/qfmgsttx.html