队列和栈

队列

#!/usr/bin/env python
#coding:utf-8
"""
file:class队列.py
date:2017-09-12 20:11
author:lihang
desc:

"""
class Queue(object):
    def __init__(self):
        print "queue is creating..."
        self.queue = []

    def EnQueue(self,item):
        self.queue.append(item)

    def ManyEnQueue(self,*args):
        self.queue.extend(args)

    def OutQueue(self):
        if not self.queue == []:
            return self.queue.pop(0)
        else:
            return None

    def show(self):
        for i in self.queue:
            print i

    def head(self):
        if not self.queue == []:
            return self.queue[0]
        else:
            return None
    def tail(self):
        if not self.queue == []:
            return self.queue[-1]
        else:
            return None

    def length(self):
        return len(self.queue)

    def isEmpty(self):
        return self.queue == []
    def __del__(self):
        print "queue is deleting..."

p1 = Queue()
print p1.isEmpty()
p1.EnQueue(1)
p1.show()
print
p1.ManyEnQueue(2,3,4)
p1.show()
p1.OutQueue()
print
p1.show()
print
print p1.isEmpty()

westos模块(栈中调用)

#!/usr/bin/env python
#coding:utf-8
"""
file:westos.py
date:2017-09-12 21:30
author:lihang
desc:

"""
class stack(object):
    def __init__(self,stack):
        self.stack = stack

    def push(self,item):
        self.stack.append(item)

    def manyPush(self,*args):
        self.stack.extend(args)

    def pop(self):
        if not self.isEmpty():
            return self.stack.pop(-1)
        else:
            return None

#!/usr/bin/env python
#coding:utf-8
"""
file:class栈.py
date:2017-09-12 20:12
author:lihang
desc:

"""
# import westos
class Stack(object):
    def __init__(self):
        print "stack is creating..."
        self.stack = []

    def push(self,item):
        self.stack.append(item)

    def manyPush(self,*args):
        self.stack.extend(args)

    def outstack(self):
        if not self.stack == []:
            return self.stack.pop(0)
        else:
            return None

    def show(self):
        for i in self.stack:
            print i

    def top(self):
        if not self.stack == []:
            return self.stack[-1]
        else:
            return None

    def length(self):
        return len(self.stack)

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

    def __del__(self):
        print "queue is deleting..."

s1 = Stack()
print s1.isEmpty()
s1.push(1)
s1.show()
print
s1.manyPush(2,3,4)
s1.show()
s1.outstack()
print
s1.show()
print
print s1.isEmpty()

你可能感兴趣的:(队列和栈)