本文整理汇总了TypeScript中src/common/binary-heap.BinaryHeap类的典型用法代码示例。如果您正苦于以下问题:TypeScript BinaryHeap类的具体用法?TypeScript BinaryHeap怎么用?TypeScript BinaryHeap使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BinaryHeap类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: describe
describe('the binary heap', () => {
let heap: BinaryHeap<MockElement>;
beforeEach(() => {
heap = new BinaryHeap<MockElement>(e => e.score);
});
describe('pull', () => {
it('should return the previously pushed object', () => {
const value = {score: 1};
heap.push(value);
expect(heap.pop()).toBe(value);
});
it('should return undefined when empty', () => {
expect(heap.pop()).toBeUndefined();
});
it('should return objects in the right order', () => {
const values = [];
for (let i=0; i<100; i++) {
values.push({score: i});
heap.push(values[i]);
}
for (let i=0; i<=99; i++) {
expect(heap.pop()).toBe(values[i]);
}
});
});
describe('size', () => {
it('should return 0 when empty', () => {
expect(heap.size).toBe(0);
});
it('should return 100 when there are 100 elements', () => {
for (let i=0; i<100; i++) {
heap.push({score: i});
}
expect(heap.size).toBe(100);
});
it('should return 1 less after pop', () => {
for (let i=0; i<100; i++) {
heap.push({score: i});
}
heap.pop();
expect(heap.size).toBe(99);
});
});
});
示例2: it
it('should return 1 less after pop', () => {
for (let i=0; i<100; i++) {
heap.push({score: i});
}
heap.pop();
expect(heap.size).toBe(99);
});