35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
import { Base, initContainer } from "../ContainerBase/index";
 | 
						|
declare class PriorityQueue<T> extends Base {
 | 
						|
    private readonly priorityQueue;
 | 
						|
    private readonly cmp;
 | 
						|
    /**
 | 
						|
     * @description PriorityQueue's constructor.
 | 
						|
     * @param container Initialize container, must have a forEach function.
 | 
						|
     * @param cmp Compare function.
 | 
						|
     * @param copy When the container is an array, you can choose to directly operate on the original object of
 | 
						|
     *             the array or perform a shallow copy. The default is shallow copy.
 | 
						|
     */
 | 
						|
    constructor(container?: initContainer<T>, cmp?: (x: T, y: T) => number, copy?: boolean);
 | 
						|
    /**
 | 
						|
     * @description Adjusting parent's children to suit the nature of the heap.
 | 
						|
     * @param parent Parent's index.
 | 
						|
     * @private
 | 
						|
     */
 | 
						|
    private adjust;
 | 
						|
    clear(): void;
 | 
						|
    /**
 | 
						|
     * @description Push element into a container in order.
 | 
						|
     * @param element The element you want to push.
 | 
						|
     */
 | 
						|
    push(element: T): void;
 | 
						|
    /**
 | 
						|
     * @description Removes the top element.
 | 
						|
     */
 | 
						|
    pop(): void;
 | 
						|
    /**
 | 
						|
     * @description Accesses the top element.
 | 
						|
     */
 | 
						|
    top(): T | undefined;
 | 
						|
}
 | 
						|
export default PriorityQueue;
 |