python - 栈与队列(只有代码)

Posted Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python - 栈与队列(只有代码)相关的知识,希望对你有一定的参考价值。

1. 栈:

    - 后进先出

class Stack(object):
    def __init__(self):
        self.stack = []

    def peek(self):
        return self.stack[len(self.stack)-1]

    def empty(self):
        return self.stack == []

    def push(self, values):
        self.stack.append(values)
        return values
    
    def pop(self):
        try:
            return self.stack.pop()
        except IndexError as q:
            return None

 

2. 队列:

    - 先进先出

class Queue(object):
    def __init__(self, max_len):
        self.len = max_len  # 记录队列的最大存储量
        self.index = -1  # 记录队列的索引
        self.q = []  # 存储队列的数据

    def push(self, values):
        if len(self.q) == self.len:
            print(len_q : ,len(self.q))
            print(len : ,self.len)
            raise IndexError("Queue is full")
        else:
            self.index += 1
            return self.q.append(values)

    def pop(self):
        if self.index == -1:
            raise IndexError("Queue is empty")
        self.index -= 1
        return self.q.pop(0)

q = Queue(2)
for i in range(3):
    q.push(i)

print(q.pop())
print(q.pop())

 

以上是关于python - 栈与队列(只有代码)的主要内容,如果未能解决你的问题,请参考以下文章

4-7 Python数据结构常考题之栈与队列

栈与队列:链队列算法+可执行代码

栈与队列:循环队列算法+可执行代码

[算法] leetcode栈与队列相关题目详解

数据结构《三》栈与队列的实现

python之 栈与队列