久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

python堆排序輸出下標(biāo)的方法是什么

共計(jì) 598 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。

在 Python 中,可以使用 heapq 模塊來(lái)實(shí)現(xiàn)堆排序,并輸出元素的下標(biāo)。

下面是一個(gè)示例代碼:

import heapq

def heap_sort_with_index(arr):
    heap = []
    for i, num in enumerate(arr):
        heapq.heappush(heap, (num, i))
    
    sorted_arr = []
    while heap:
        sorted_arr.append(heapq.heappop(heap)[1])
    
    return sorted_arr

在上面的代碼中,我們使用 heapq.heappush()將元素 (num, i) 加入到堆中,其中 num 是數(shù)組中的元素,i 是該元素的下標(biāo)。這樣,heap 中的每個(gè)元素都是一個(gè)元組,元組的第一個(gè)元素是數(shù)組中的元素,第二個(gè)元素是該元素的下標(biāo)。

然后,我們使用 heapq.heappop()從堆中彈出元素,并將其下標(biāo)添加到 sorted_arr 中。最終,返回 sorted_arr,即按從小到大排序的元素下標(biāo)列表。

示例使用:

arr = [4, 2, 7, 1, 9, 5]
sorted_indexes = heap_sort_with_index(arr)
print(sorted_indexes)  # 輸出 [3, 1, 0, 5, 2, 4]

上述示例中,原始數(shù)組 arr 為[4, 2, 7, 1, 9, 5],經(jīng)過(guò)堆排序后,得到的元素下標(biāo)列表為[3, 1, 0, 5, 2, 4]。

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-21發(fā)表,共計(jì)598字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 舒兰市| 朔州市| 巴彦淖尔市| 邵东县| 台南县| 奈曼旗| 邵武市| 威海市| 胶南市| 恭城| 宾川县| 德昌县| 石阡县| 方城县| 新疆| 大厂| 宜都市| 金溪县| 广西| 安吉县| 疏勒县| 抚顺县| 大邑县| 新平| 安达市| 安溪县| 达孜县| 晋城| 光泽县| 鞍山市| 会昌县| 周口市| 长岛县| 五台县| 铁岭县| 富源县| 古蔺县| 肃宁县| 油尖旺区| 潞西市| 高唐县|