export type SortComparer = (a: Item, b: Item) => number; /** * 排序队列 * @remarks * 优先队列的极简实现;即优化了排序的性能,又保持代码精简; */ export declare class SortQueue { comparer: SortComparer; constructor(comparer: SortComparer, items?: Item[]); /** * 队列 * @remarks * 保存所有的元素 */ get queue(): Item[]; set queue(value: Item[]); protected _queue: Item[]; /** * 第一个元素 */ get first(): Item; /** * 最后一个元素 */ get last(): NonNullable; /** * 添加元素 * @param items * @returns 返回item最终的索引 */ add(item: Item): number; /** * 添加元素 * @param items */ addItems(items: Iterable): void; /** * 删除元素 * @param items * @returns 返回item删除前所在的索引 */ delete(item: Item): number; /** * 删除元素 * @param items */ deleteItems(items: Iterable): void; /** * 对队列中的所有元素重新排序 */ sort(): void; /** * 排序 item * @param item * @returns 如果item 不在队列中,返回 false;否则返回 true */ sortItem(item: Item): number; /** * 前向排序 * @param item * @returns 返回item最终的索引 */ forwardSort(item: Item): number; /** * 后向排序 * @param item * @returns 返回item最终的索引 */ backwardSort(item: Item): number; /** * 排序 item * @param index * @returns 返回item最终的索引 */ sortItemForIndex(index: number): number; /** * 前向排序 * @param index * @returns 返回item最终的索引 */ forwardSortForIndex(index: number): number; /** * 后向排序 * @param index * @returns 返回item最终的索引 */ backwardSortForIndex(index: number): number; } //# sourceMappingURL=SortQueue.d.ts.map