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