python学习笔记

这篇博客介绍了如何用Python实现基本的数据结构——栈和队列。栈的实现包括了`push`、`pop`、`peek`、`is_empty`和`size`方法,而队列则通过`enqueue`、`dequeue`、`is_empty`和`size`进行操作。示例代码展示了如何创建、操作和检查这些数据结构的实例。
摘要由CSDN通过智能技术生成

栈的实现

Static()创建一个新的空栈
push(item)添加一个新的元素item到栈顶
pop()弹出栈顶元素
peek()返回栈顶元素
is_empty()判断栈是否为空
size()返回栈的元素个数

用列表实现栈

class Static(object):
    #定义初始化方法
    def __init__(self):
        #初始化一个空列表
        self.__list = []

    #压栈
    def push(self,item):
        self.__list.append(item)

    #弹出元素
    def pop(self):
        return self.__list.pop()

    #返回栈顶元素
    def peek(self):
        return self.__list[len(self.__list) - 1]

    #判断栈是否为空
    def is_empty(self):
        return self.__list == []

    #计算栈的大小
    def size(self):
        return len(self.__list)

if __name__ == '__main__':
    static = Static()
    print('是否是空栈', static.is_empty())
    print('栈的长度:', static.size())
    #压栈
    static.push(1)
    static.push(2)
    static.push(3)
    static.push(4)
    print('是否是空栈', static.is_empty())
    print('栈的长度:', static.size())
    #弹出
    print(static.pop())
    print(static.pop())
    print(static.pop())
    print(static.pop())

队列的操作

Queue()创建一个空的队列
enqueue(item)往队列中添加一个item元素
dequeue()从队列头部删除一个元素
is_empty()判断一个队列是否为空
size()返回队列的大小

队列的实现

class Queue:
    def __init__(self):
        self.__list = []

    #进队
    def enqueue(self,item):
        # self.__list.append(item)   #尾部
        self.__list.insert(0,item)  #头部

    #出队
    def dequeue(self):
        # return self.__list.pop(0)    #头
        return self.__list.pop()     #尾

    #判断队列是否为空
    def is_empty(self):
        return self.__list == []

    #计算队列大小
    def size(self):
        return len(self.__list)

if __name__ == '__main__':
    queue=Queue()
    queue.enqueue(10)
    queue.enqueue(20)
    queue.enqueue(30)
    #判断队列是否为空
    print(queue.is_empty())
    print('队列大小', queue.size())
    print('--------出队--------')
    print(queue.dequeue())
    print(queue.dequeue())
    print(queue.dequeue())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值