1 stack
首先我们说一下adapter适配器,就是改改其他容器,变成另一个东西
我们知道deque是一个两端开口的容器,而stack遵循先进后出,就类似于把deque的底儿封住,只能从口进,从口出。因此我们只需要关闭deque的一些函数就可以改成stack。不支持push_front()、pop_front(),就只有push()、pop().
stack只有顶端元素才会被外界获取,因此它不支持访问,没有迭代器。好耶!
list也是双端开口的容器,也可以作为stack的底层容器。
2 queue
欸? queue是一种先进先出的数据结构,有一个入口,一个出口,不像deque既可以进,也可以出。也可以关闭deque的一些函数就可以改成queue,不支持push_front()、pop_back(),就只能从尾进从头出。统一称为push()、pop()
同样 ! 我们只能获取到queue的头部元素,也不提供遍历功能,没有迭代器!
list也可以作为queue的底层容器