堆栈(Stack)是一种常见的数据结构,遵循后进先出(Last-In-First-Out,LIFO)的原则。双向链表(Doubly Linked List)是一种链表,每个节点都包含指向前一个节点和后一个节点的指针。在本文中,我们将结合这两种数据结构,实现一个带有双向链表的堆栈算法。我们将使用Python语言来实现该算法。
首先,我们需要定义一个节点类,表示双向链表的节点。每个节点都包含一个数据项和指向前一个节点和后一个节点的指针。以下是节点类的实现:
class Node:
def __init__(self, data):
self