适配器模式:将一个类的接口转换为客户希望的另一个接口,使原来由于接口不兼容而不能一起工作的那些类一起工作
这种模式在STL中有很充分的应用
我们可以使用deque创建自己的堆和队列:
首先需要一个接口类:
class Sequece
{
public:
virtual void push(int x) =0;
virtual void pop() = 0;
}
堆:
class MyStack : Sequece
{
private:
std::deque<int> m_deque;
public:
void push(int x){m_deque.push_front(x);}
void pop(){m_deuqe.pop_front();}
}
队列:
<pre name="code" class="cpp">class MyList:Sequece
{
private:
std::deque<int> m_deque;
public:
void push(int x){m_deque.push_front(x);}
void pop(){m_deque.pop_back();}
}