Example #1
0
class ArrayStack(Stackbase):
    def __init__(self, capacity=0):
        """默认capacity为0"""
        self._array = Array(capacity)

    def push(self, e):
        """向栈中添加元素"""
        self._array.add_Last(e)

    def pop(self):
        """从栈中取出元素"""
        return self._array.remove_Last()

    def peek(self):
        """获得栈顶元素"""
        return self._array.get_Last()

    def get_Size(self):
        """获得栈中元素数量"""
        return self._array.get_Size()

    def is_Empty(self):
        """栈是否为空"""
        return self._array.is_Empty()

    def get_capacity(self):
        return self._array.get_Capacity()

    def __str__(self):
        StringList = []
        StringList.append("Stack:size = %s, capacity = %d \n" %
                          (self._array.get_Size(), self._array.get_Capacity()))
        StringList.append('[')
        for i in range(self._array.get_Size()):
            StringList.append("%s" % self._array.get(i))
            if i != self._array.get_Size() - 1:
                StringList.append(",")
        StringList.append('] top')
        return "".join(StringList)
class ArrayQueue(Queuebase):
    """数组队列"""
    def __init__(self, capacity=10):
        self._array = Array(capacity)

    def enqueue(self, e):
        """入队"""
        self._array.add_Last(e)

    def dequeue(self):
        """出队"""
        return self._array.remove_First()

    def get_Front(self):
        """获得队首元素"""
        return self._array.get_First()

    def get_Size(self):
        """获得队列内元素数量"""
        return self._array.get_Size()

    def is_Empty(self):
        """查看队列是否为空"""
        return self._array.is_Empty()

    def get_Capacity(self):
        """查看队列的容量"""
        return self._array.get_Capacity()

    def __str__(self):
        StringList = []
        StringList.append("Queue:size = %s, capacity = %d \n" %
                          (self.get_Size(), self.get_Capacity()))
        StringList.append('front [')
        for i in range(self.get_Size()):
            StringList.append("%s" % self._array.get(i))
            if i != self.get_Size() - 1:
                StringList.append(",")
        StringList.append('] tail')
        return "".join(StringList)