前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python实现栈

Python实现栈

原创
作者头像
YingJoy_
发布2018-05-09 11:06:21
1K3
发布2018-05-09 11:06:21
举报
文章被收录于专栏:应兆康的专栏
代码语言:python
代码运行次数:0
复制
#!usr/bin/env python  
#-*- coding:utf-8 -*- 
 
""" 
@author:yzk13 
@time: 2018/04/19
栈
"""
 
class Stack(object):
    """
    栈
    """
    def __init__(self):
        """
        初始化
        """
        self.items = []
 
    def is_empty(self):
        """
        栈是否为空
        :return:
        """
        return self.items == []
 
    def peek(self):
        """
        返回栈顶元素
        :return:
        """
        return self.items[-1]
 
    def size(self):
        """
        返回栈的大小
        :return:
        """
        return len(self.items)
 
    def push(self, item):
        """
        进栈
        :return:
        """
        self.items.append(item)
 
    def pop(self):
        """
        删除栈最顶层的元素,并返回这个元素  出栈
        :return:
        """
        return self.items.pop()
 
    def print(self):
        """
        打印
        :return:
        """
        print(self.items)
 
    def sort(self):
        """
        排序
        :return:
        """
        self.items.sort()
 
if __name__ == '__main__':
    s = Stack()
    # 入栈
    s.push(3)
    s.push(-2)
    s.push(7)
    s.push(6)
    s.push(1)
    s.print()
 
    # 测试大小
    print('栈大小为: ', s.size())
 
    # 出栈
    print('出栈元素为: ', s.pop())
    s.print()
 
    # 获取栈顶
    print('栈顶为: ', s.peek())
 
    # 测试排序
    s.sort()
 
    s.print()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档