📄 b_heap.h
字号:
/*******************************************************************************++ LEDA 4.5 +++ b_heap.h+++ Copyright (c) 1995-2004+ by Algorithmic Solutions Software GmbH+ All rights reserved.+ *******************************************************************************/// $Revision: 1.3 $ $Date: 2004/02/06 11:18:46 $#ifndef LEDA_BHEAP_H#define LEDA_BHEAP_H//------------------------------------------------------------------------------// b_heap: bounded heaps with integer keys in [a..b]//------------------------------------------------------------------------------#include <LEDA/basic.h>#include <LEDA/list.h>#include <LEDA/array.h>LEDA_BEGIN_NAMESPACEclass __exportC b_heap_node {friend class __exportC b_heap;friend void print_b_heap_item(b_heap_node*);int key;GenPtr info;list_item loc;b_heap_node(int k, GenPtr i ) { key = k; info = i; loc = 0; } LEDA_MEMORY(b_heap_node)};typedef b_heap_node* b_heap_item;typedef list<b_heap_item>* b_heap_bucket;class __exportC b_heap { int min; int max; int low; int high; array<b_heap_bucket> T;public:b_heap(int a, int b);~b_heap() { clear(); }b_heap_item insert(int key, GenPtr info) ;b_heap_item find_min();b_heap_item find_max();GenPtr del_min();GenPtr del_max();b_heap_item decrease_key(b_heap_item it, int k);b_heap_item increase_key(b_heap_item it, int k);void delete_item(b_heap_item it);void clear();GenPtr inf(b_heap_item it) { return it->info; }int key(b_heap_item it) { return it->key; }int empty() { return (find_min()==0) ? true : false; }void print();};LEDA_END_NAMESPACE#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -