数组实现栈和队列——Python

  • 数组实现对列
class fakeChainTable(object):
    def __init__(self, size):
        self.size = size
        self.array = [None] * size
        self.start = 0
        self.end = 0
        self.lens = 0

    def add(self, o):
        if self.lens == self.size:
            return False
        self.array[self.end] = o
        self.end = (self.end + 1) % self.size
        self.lens += 1
        return o

    def remove(self):
        if self.lens == 0:
            return False
        value = self.array[self.start]
        self.start = (self.start + 1) % self.size
        self.lens -= 1
        return value
  • 数组实现栈
class fakeStack(object):
    def __init__(self, size):
        self.size = size
        self.stack = [None] * size
        self.index = 0

    def push(self, x):
        if self.index==self.size:
            return False
        self.stack[self.index]=x
        self.index+=1
        return self.index-1, x

    def pop(self):
        if self.index==0:
            return False
        value = self.stack[self.index-1]
        self.index-=1
        return value
发布了151 篇原创文章 · 获赞 73 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/liyuxing6639801/article/details/103570357