1. 程式人生 > >python演算法與資料結構002--利用列表實現棧的功能

python演算法與資料結構002--利用列表實現棧的功能

class Statck(object):
    """
        棧:後進先出的資料結構
           利用列表實現棧的基本功能。
    """
    def __init__(self):
        self.items=[]

    def push(self,item):
        """新增新的元素到棧頂"""
        self.items.append(item)

    def pop(self):
        """彈出棧頂元素"""
        self.items.pop()

    def peek(self):
        """返回棧頂元素"""
        return self.items[len(self.items)-1]

    def is_empty(self):
        """棧是否為空"""
        return len(self.items)==0

    def size(self):
        """返回棧的元素個數"""
        return len(self.items)

if __name__=='__main__':
    testStatck = Statck()
    print(testStatck.size())
    testStatck.push(12)
    testStatck.push('Test')
    testStatck.push([12,23,32])
    print(testStatck.items)
    testStatck.push('Hello')
    print(testStatck.items)
    testStatck.pop()
    testStatck.pop()
    print(testStatck.items)
    print(testStatck.size())