__author__ = 'nitin'
class Stack:
def __init__(self):
self.stack_size=300
self.items=[0]* self.stack_size * 3
self.stack_pointer=[0,0,0]
def push(self,stack_num,item):
index=stack_num * self.stack_size + self.stack_pointer[stack_num] + 1
self.stack_pointer[stack_num]+=1
self.items[index]=item
def pop(self,stack_num):
index=stack_num * self.stack_size + self.stack_pointer[stack_num]
self.stack_pointer[stack_num] -=1
value=self.items[index]
self.items[index]=0
print value
return value
def peek(self,stack_num):
index=stack_num * self.stack_size + self.stack_pointer[stack_num]
return self.items[index]
def isEmpty(self,stack_num):
return self.stack_pointer[stack_num] == stack_num*self.stack_size
if __name__=='__main__':
s=Stack()
s.push(0,1)
s.push(1,1)
s.push(2,1)
s.pop(0)
s.pop(1)
s.pop(2)
class Stack:
def __init__(self):
self.stack_size=300
self.items=[0]* self.stack_size * 3
self.stack_pointer=[0,0,0]
def push(self,stack_num,item):
index=stack_num * self.stack_size + self.stack_pointer[stack_num] + 1
self.stack_pointer[stack_num]+=1
self.items[index]=item
def pop(self,stack_num):
index=stack_num * self.stack_size + self.stack_pointer[stack_num]
self.stack_pointer[stack_num] -=1
value=self.items[index]
self.items[index]=0
print value
return value
def peek(self,stack_num):
index=stack_num * self.stack_size + self.stack_pointer[stack_num]
return self.items[index]
def isEmpty(self,stack_num):
return self.stack_pointer[stack_num] == stack_num*self.stack_size
if __name__=='__main__':
s=Stack()
s.push(0,1)
s.push(1,1)
s.push(2,1)
s.pop(0)
s.pop(1)
s.pop(2)
No comments:
Post a Comment