python学习_python中的栈指的是什么

python学习_python中的栈指的是什么

栈(stack)是一个项的有序汇合,此中增加移除了新项总发作正在统一端。这一端凡是称为“顶部”。与顶部对于应的端称为“底部”。

python学习_python中的栈指的是什么

就像图片所描绘的,栈s=(a1,a2,…an-1,an)。最初入栈的是an,开始出栈的也是an。以是栈契合LIFO准绳。

LIFO

LIFO,即落后先出的排序准绳。它基于正在汇合内的工夫长度做排序。较新的项接近顶部,较旧的项接近底部。栈的底部很紧张,由于正在栈中接近底部的项是存储工夫最长的。比来增加的项是开始会被移除了的。

栈之以是紧张是由于它能反转项的挨次。拔出跟删除了挨次相同。

最典范的例子便是每一个 web 阅读器都有一个前往按钮。当你阅读网页时,这些网页被安排正在一个栈中(实践是网页的网址)。你如今检查的网页正在顶部,你第一个检查的网页正在底部。假如按‘前往’按钮,将按相同的挨次阅读方才的页面。

Python完成栈

# 创立一个空的新栈。 它没有需求参数,并前往一个空栈。
class Stack:
    def __init__(self):
        self.items = []
        
    # 测试栈能否为空。没有需求参数,并前往布尔值。
    def isEmpty(self):
        return self.items == []
    
    # 将一个新项增加到栈的顶部。它需求 item 做参数其实不前往任何内容。
    def push(self, item):
        self.items.append(item)
        
    # 从栈中删除了顶部项。它没有需求参数并前往 item 。栈被修正。
    def pop(self):
        return self.items.pop()
    
    # 从栈前往顶部项,但没有会删除了它。没有需求参数。 没有修正栈。
    def peek(self):
        return self.items[len(self.items)-1]
    
    # 前往栈中的 item 数目。没有需求参数,并前往一个整数。
    def size(self):
        return len(self.items)

将十进制数转换为恣意进制数

晓得了栈的根本操纵就做一个小名目来练练手。将十进制数转换为恣意进制数,实在最高也就十六进制(另有更高进制吗)。

def baseConverter(n, base):
    
    # n是输出的十进制数字,base为要转化的进制数
    digits = '0123456789ABCDEF'
    
    #创立一个新栈
    s= Stack()
    
    # 将每一次较量争论所患上的余数增加进栈
    while n> 0:
        rem = n % base
        s.push(rem)
        n = n // base
    
    # 将余数倒序陈列至新字符串    
    newString = ''
    while not remstack.isEmpty():
        newString = newString + digits[remstack.pop()]
        
    return newString

相关推选:《Python教程

以上便是python中的栈指的是甚么的具体内容,更多请存眷酷吧易资源网别的相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

酷吧易资源网 python教程 python学习_python中的栈指的是什么 https://www.kubayi.com/5049.html

常见问题

相关文章

评论
暂无评论