README.md
July 5, 2026 ยท View on GitHub
options gen2
require minmaxheap/minmaxheap public
struct BooleanItem {
sort_by: int
value: bool
}
typedef BoolMinMaxHeap = $TMinMaxheap<BooleanItem>
[export]
def main() {
var bool_item_arr = [BooleanItem(sort_by = 5, value = true),
BooleanItem(sort_by = 65, value = true),
BooleanItem(sort_by = 80, value = true),
BooleanItem(sort_by = 25, value = true),
BooleanItem(sort_by = 37, value = true),
BooleanItem(sort_by = 8, value = true),
BooleanItem(sort_by = 15, value = true),
BooleanItem(sort_by = 57, value = true),
BooleanItem(sort_by = 36, value = true),
BooleanItem(sort_by = 45, value = true),
BooleanItem(sort_by = 59, value = true),
BooleanItem(sort_by = 20, value = true),
BooleanItem(sort_by = 14, value = true),
BooleanItem(sort_by = 32, value = true),
BooleanItem(sort_by = 18, value = true)]
// Initialization is as such, provided you have an array and a key to sort by (as long as your lambda returns an integer.) Preferable to the second option
var bool_heap_test_1 = new default<BoolMinMaxHeap>.build_from_arr(bool_item_arr,
@(typevalue: BooleanItem) {
return typevalue.sort_by
})
bool_heap_test_1.display()
print("AFter removing min and max:\n")
bool_heap_test_1.remove_min()
bool_heap_test_1.remove_max()
bool_heap_test_1.display()
// Is the same as above (with inferior performance)
var bool_heap_test_2 = new default<BoolMinMaxHeap>
bool_heap_test_2.define_provider(@(typevalue: BooleanItem) {
return typevalue.sort_by
})
bool_heap_test_2.insert(BooleanItem(sort_by = 5, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 65, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 80, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 25, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 37, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 8, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 15, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 57, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 36, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 45, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 59, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 20, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 14, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 32, value = true))
bool_heap_test_2.insert(BooleanItem(sort_by = 18, value = true))
}```