gpt4 book ai didi

perl - 按 Perl 哈希的哈希值哈希排序

转载 作者:行者123 更新时间:2023-12-01 12:01:40 26 4
gpt4 key购买 nike

我有一个类似于下面的哈希结构:

KeyA => {
Key1 => {
Key4 => 4
Key5 => 9
Key6 => 10
}
Key2 => {
Key7 => 5
Key8 => 9
}
}
KeyB => {
Key3 => {
Key9 => 6
Key10 => 3
}
}

我需要打印出哈希结构的遍历路径和遍历结束时的值,这样按值排序。例如,对于上面的哈希结构,我需要打印:

KeyB Key3 Key10 3
KeyA Key1 Key4 4
KeyA Key2 Key7 5
KeyB Key3 Key9 6
KeyA Key2 Key8 9
KeyA Key1 Key5 9
KeyA Key1 Key6 10

目前,为了解决这个问题,我正在使用嵌套的 foreach 循环遍历哈希结构,并通过插入一个键等于遍历路径(例如“KeyA Key3 Key10”)且值等于遍历路径的末尾(例如 3),然后执行另一个 foreach 循环,按值对展平的哈希进行排序。

有没有更有效的方法来做到这一点?

最佳答案

与其创建新的散列,不如考虑创建一个排序数组。遍历初始值,插入数组,根据值,键值对,然后遍历结果数组。这应该为您提供初始迭代的 O(n) + 每次插入的 O(lg n) + 最后迭代的 O(n)。

关于perl - 按 Perl 哈希的哈希值哈希排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/762399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com