广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python数据结构栈实现进制转换简单示例
  • 232
分享到

Python数据结构栈实现进制转换简单示例

python 进制转化数据结构进制转换算法栈实现进制转换 2023-02-03 15:02:36 232人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

栈是一种后进先出(LIFO)的数据结构,在实际生活和工作中也很常见。 比如,在餐厅里的一摞盘子,总是从上面先取,也就是最后放到上面的先被取走。再比如,浏览网页的时候,通过浏览器的回退

栈是一种后进先出(LIFO)的数据结构,在实际生活和工作中也很常见。

比如,在餐厅里的一摞盘子,总是从上面先取,也就是最后放到上面的先被取走。再比如,浏览网页的时候,通过浏览器的回退按钮访问之前浏览过的网页,也是最后访问的先被获取到。这些存储结构,都可以称之为栈。

下面是通过python数组实现的栈结构源码

# 数据结构:通过Python数组实现栈
class Stack:
    def __init__(self):
        self.items = []

    # 检查栈是否为空。它不需要参数,且会返回一个布尔值。
    def is_empty(self):
        return self.items == []

    # 将一个元素添加到栈的顶端。它需要一个参数item,且无返回值。
    def push(self, item):
        self.items.append(item)

    # 将栈顶端的元素移除。它不需要参数,但会返回顶端的元素,并且修改栈的内容。
    def pop(self):
        return self.items.pop()

    # 返回栈顶端的元素,但是并不移除该元素。它不需要参数,也不会修改栈的内容。
    def peek(self):
        return self.items[len(self.items) - 1]

    # 返回栈中元素的数目。它不需要参数,且会返回一个整数。
    def size(self):
        return len(self.items)

我们可以通过栈结构,来做数字进制的转换。

我们通常生活中使用的是十进制,而在计算机世界,二进制才是通用的语言。

通过取余的方式,我们可以实现从十进制到二进制的转换,十进制转八进制也是同理。

下面是实现的源码:

import my_stack

# 十进制转二进制
def divide_by_2(number):
    stack = my_stack.Stack()

    while number > 0:
        temp = number % 2
        stack.push(temp)
        number = number // 2

    binStr = ''
    while not stack.is_empty():
        binStr = binStr + str(stack.pop())

    return binStr

# 十进制:5 转为二进制是:101
print(divide_by_2(5))

总结

到此这篇关于Python数据结构栈实现进制转换的文章就介绍到这了,更多相关Python数据结构栈进制转换内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python数据结构栈实现进制转换简单示例

本文链接: https://www.lsjlt.com/news/194136.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作