python實現棧結構


# -*- coding:utf-8 -*-
# __author__ :kusy
# __content__:文件說明
# __date__:2018/9/30 17:28


class MyStack(object):
    def __init__(self):
        self.stack_list = []
        self.count = 0

    # 創建一個棧
    def create_stack(self):
        return self.stack_list

    # 棧中添加值
    def push(self, value):
        self.stack_list.insert(0,value)
        self.count += 1

    #返回棧頂元素值
    def peek(self):
        if self.count:
            return self.stack_list[0]

    # 刪除棧頂元素
    def pop(self):
        self.stack_list.pop(0)
        self.count -= 1

    # 返回棧是否為空
    def is_empty(self):
        return self.count == 0

    #打印棧內容
    def print_all(self):
        for sl in self.stack_list:
            print(sl)

if __name__ == '__main__':
    ms = MyStack()
    ms.create_stack()
    ms.push(1)
    ms.push(2)
    ms.push(3)
    print('棧元素:')
    ms.print_all()
    print('棧頂元素:',ms.peek())
    ms.pop()
    print('棧頂元素刪除后:')
    ms.print_all()
    print('棧是否為空:','' if ms.is_empty() else '')
    print('---繼續刪除元素')
    ms.pop()
    print('---繼續刪除元素')
    ms.pop()
    print('棧是否為空:','' if ms.is_empty() else '')

運行結果如下

C:\Users\suneee\AppData\Local\Programs\Python\Python36\python.exe E:/wangjz/PyWorkSpace/LearnPython/PY0929/stack.py
棧元素:
3
2
1
棧頂元素: 3
棧頂元素刪除后:
2
1
棧是否為空: 否
---繼續刪除元素
---繼續刪除元素
棧是否為空: 是

Process finished with exit code 0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM