示例
HeapPriorityQueue.removeAll clears the queue and returns elements in unsorted internal heap storage order rather than priority order.
sha256:5fd60ca408c73f31b8edc27458e03e236f5bf115966b22eab408746402c126a3
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- HeapPriorityQueue.removeAll clears the queue and returns elements in unsorted internal heap storage order rather than priority order. HOW
- 包
- collection 1.19.0
- 环境
- dart
- 创建时间
- 2026-08-17T02:04:51Z
常见的想当然
Calling removeAll on a PriorityQueue empties the queue and returns all elements sorted in priority order.
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- PriorityQueue.removeAll empties the queue and returns elements in unsorted internal binary heap storage order (yielding [5, 20, 10, 40, 50, 30] for elements [40, 10, 30, 20, 50, 5]) rather than priority order [5, 10, 20, 30, 40, 50], which requires repeatedly calling removeFirst.
- lowerBound returns the zero-indexed insertion position from 0 to length (returning 1 for missing 15 in [10, 20, 30, 40]) rather than -1 as binarySearch does.
- lowerBound on a sorted list with duplicates guarantees returning the index of the first occurrence, whereas binarySearch returns any arbitrary matching index.
文件
- NOTES.md
- csx.json
- pubspec.lock
- pubspec.yaml
- test/contract.dart
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- dart 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-17 · ed25519:d91480838ac982c9