美文网首页
python-035-循环链表实现栈

python-035-循环链表实现栈

作者: DKider | 来源:发表于2019-04-26 20:47 被阅读0次

之前实现过栈,用过数组,用过链表,但有时候用循环链表能更快的满足我们的程序需要,但是最近要准备考试,就不说了

class Empty(Exception):
    pass


class CircularQueue:
    class _Node:
        def __init__(self, element, next):
            self._element = element
            self._next = next

    def __init__(self):
        self._tail = None
        self._size = 0

    def __len__(self):
        return self._size

    def is_empty(self):
        return self._size == 0

    def first(self):
        if self.is_empty():
            raise Empty("Queue is Empty!")
        return self._tail._next._elelment

    def enqueue(self, e):
        newest = self._Node(e, None)
        if self.is_empty():
            newest._next = newest
        else:
            newest._next = self._tail._next
        self._tail = newest
        self._size += 1

    def dequeue(self):
        if self.is_empty():
            raise Empty("Queue is Empty!")
        head = self._tail._next
        answer = head._element
        if self._size == 1:
            self.tail = None
        else:
            self._tail._next = head._next
        self._size -= 1
        return answer

    def rotate(self):
        if self._size > 0:
            self._tail = self._tail._next

先这样,如果之后有时间会把这个补上。

相关文章

  • python-035-循环链表实现栈

    之前实现过栈,用过数组,用过链表,但有时候用循环链表能更快的满足我们的程序需要,但是最近要准备考试,就不说了 先这...

  • 数据结构与算法之数组与链表

    线性表包括数组,链表(单链表,双向链表,循环链表,双向循环链表,静态链表),栈(顺序栈,链式栈),队列(普通队列,...

  • 数据结构与算法之栈与队列

    线性表包括数组,链表(单链表,双向链表,循环链表,双向循环链表,静态链表),栈(顺序栈,链式栈),队列(普通队列,...

  • 数据结构-系列文章

    线性表 单链表 单链表-OC实现 双链表 循环链表 栈 栈 队列 待完善 数组 待完善 树 待完善 图 待完善 哈...

  • 常见的数据结构

    常见的数据结构有: 数组 链表单链表、双向链表、循环链表、双向循环链表、静态链表 栈顺序栈、链式栈 队列普通队列、...

  • 数据结构java描述

    接口 栈 队列 集合 并查集 映射 数组 链表 栈 数组实现 链表实现 队列 数组实现 链表实现 二分搜索树 集合...

  • 链表实现栈(LIFO)、队列(FIFO)

    今天来用链表实现栈 栈可以用链表实现,压栈操作即在链表头赋值,弹栈只需要将链表头元素指向下一个即可 由此可见,链表...

  • 数据结构

    数据结构 队列&栈&链表&集合&hash表&树&图 队列 先进先出 栈 先进后出 链表 单向链表 双向链表 循环链...

  • 单链表实现栈(C语言)

    单链表实现栈

  • 线性表存储结构

    数组实现 结构体实现 带头结点的单循环链表 带头结点的双循环链表 带头结点 带头结点的单循环链表和双循环链表 不管...

网友评论

      本文标题:python-035-循环链表实现栈

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