亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python數(shù)據(jù)結(jié)構(gòu)棧實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換簡(jiǎn)單示例

 更新時(shí)間:2023年02月03日 11:59:57   作者:西召  
眾所周知計(jì)算機(jī)的內(nèi)存都是以二進(jìn)制的形式進(jìn)行數(shù)據(jù)存儲(chǔ),下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)結(jié)構(gòu)棧實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

棧是一種后進(jìn)先出(LIFO)的數(shù)據(jù)結(jié)構(gòu),在實(shí)際生活和工作中也很常見(jiàn)。

比如,在餐廳里的一摞盤(pán)子,總是從上面先取,也就是最后放到上面的先被取走。再比如,瀏覽網(wǎng)頁(yè)的時(shí)候,通過(guò)瀏覽器的回退按鈕訪問(wèn)之前瀏覽過(guò)的網(wǎng)頁(yè),也是最后訪問(wèn)的先被獲取到。這些存儲(chǔ)結(jié)構(gòu),都可以稱之為棧。

下面是通過(guò)Python的數(shù)組實(shí)現(xiàn)的棧結(jié)構(gòu)源碼:

# 數(shù)據(jù)結(jié)構(gòu):通過(guò)Python數(shù)組實(shí)現(xiàn)棧
class Stack:
    def __init__(self):
        self.items = []

    # 檢查棧是否為空。它不需要參數(shù),且會(huì)返回一個(gè)布爾值。
    def is_empty(self):
        return self.items == []

    # 將一個(gè)元素添加到棧的頂端。它需要一個(gè)參數(shù)item,且無(wú)返回值。
    def push(self, item):
        self.items.append(item)

    # 將棧頂端的元素移除。它不需要參數(shù),但會(huì)返回頂端的元素,并且修改棧的內(nèi)容。
    def pop(self):
        return self.items.pop()

    # 返回棧頂端的元素,但是并不移除該元素。它不需要參數(shù),也不會(huì)修改棧的內(nèi)容。
    def peek(self):
        return self.items[len(self.items) - 1]

    # 返回棧中元素的數(shù)目。它不需要參數(shù),且會(huì)返回一個(gè)整數(shù)。
    def size(self):
        return len(self.items)

我們可以通過(guò)棧結(jié)構(gòu),來(lái)做數(shù)字進(jìn)制的轉(zhuǎn)換。

我們通常生活中使用的是十進(jìn)制,而在計(jì)算機(jī)世界,二進(jìn)制才是通用的語(yǔ)言。

通過(guò)取余的方式,我們可以實(shí)現(xiàn)從十進(jìn)制到二進(jìn)制的轉(zhuǎn)換,十進(jìn)制轉(zhuǎn)八進(jìn)制也是同理。

下面是實(shí)現(xiàn)的源碼:

import my_stack

# 十進(jìn)制轉(zhuǎn)二進(jìn)制
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

# 十進(jìn)制:5 轉(zhuǎn)為二進(jìn)制是:101
print(divide_by_2(5))

總結(jié)

到此這篇關(guān)于Python數(shù)據(jù)結(jié)構(gòu)棧實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)結(jié)構(gòu)棧進(jìn)制轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論