Stack-queue

文章目录

  • stack
    • 适配器
    • 关于为什么不直接在成员函数里调用push_back...

stack

适配器

在这里插入图片描述

stack和queue使用了container适配器,因为它觉得我不需要自己实现一个容器来实现而直接用现成的
stack和queue并没有迭代器,因为本来就是后进先出,先进先出,怎么可能让迭代器随便访问呢?

适配器讲的全一点是容器适配器,对容器进行封装改造控制适配出栈和队列

并且stl中的栈采用这种适配器,可以做到链式栈和数组栈秒切换,那这么神奇怎么做到的?模板!

Stack-queue_第1张图片
其实到这里栈的底层实现已经没什么了,那这样模拟每次都要传模板参数有点烦,库里没传模板参数,因为库里面为我们准备了默认容器双端队列,这样就不用每次传模板参数了!

关于为什么不直接在成员函数里调用push_back…

因为我们不是要对这个stack对象做什么,而是要对它的成员变量进行修改就可以了,就像修改成员变量int a 一样
Stack-queue_第2张图片

你可能感兴趣的:(C++,c++)