ualdict.h
来自「数据结构与算法分析」· C头文件 代码 · 共 37 行
H
37 行
#include "dictionary.h"
// Dictionary implemented with an unsorted array-based list
template <class Key, class Elem, class KEComp, class EEComp>
class UALdict : public Dictionary<Key,Elem,KEComp,EEComp> {
private:
AList<Elem>* list;
public:
UALdict(int size=DefaultListSize)
{ list = new AList<Elem>(size); }
~UALdict() { delete list; }
void clear() { list->clear(); }
bool insert(const Elem& e) { return list->append(e); }
bool remove(const Key& K, Elem& e) {
for(list->setStart(); list->getValue(e); list->next())
if (KEComp::eq(K, e)) {
list->remove(e);
return true;
}
return false;
}
bool removeAny(Elem& e) {
if (size() == 0) return false;
list->setEnd();
list->prev();
list->remove(e);
return true;
}
bool find(const Key& K, Elem& e) const {
for(list->setStart(); list->getValue(e); list->next())
if (KEComp::eq(K, e)) return true;
return false;
}
int size()
{ return list->leftLength() + list->rightLength(); }
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?