prio_impl.h
资源名称:leda.tar.gz [点击查看]
上传用户:gzelex
上传日期:2007-01-07
资源大小:707k
文件大小:1k
源码类别:
数值算法/人工智能
开发平台:
MultiPlatform
- /*******************************************************************************
- +
- + LEDA-R 3.2.3
- +
- + prio_impl.h
- +
- + Copyright (c) 1995 by Max-Planck-Institut fuer Informatik
- + Im Stadtwald, 66123 Saarbruecken, Germany
- + All rights reserved.
- +
- *******************************************************************************/
- class PRIO_IMPL
- {
- private:
- PRIO_IMPL_DATA
- virtual int cmp(GenPtr, GenPtr) const = 0;
- virtual int int_type() const = 0;
- virtual void clear_key(GenPtr&) const = 0;
- virtual void clear_inf(GenPtr&) const = 0;
- virtual void copy_key(GenPtr&) const = 0;
- virtual void copy_inf(GenPtr&) const = 0;
- protected:
- PRIO_IMPL_ITEM item(void* p) const { return PRIO_IMPL_ITEM(p); }
- public:
- PRIO_IMPL();
- PRIO_IMPL(int);
- PRIO_IMPL(int,int);
- PRIO_IMPL(const PRIO_IMPL&);
- virtual ~PRIO_IMPL();
- PRIO_IMPL& operator=(const PRIO_IMPL&);
- PRIO_IMPL_ITEM insert(GenPtr,GenPtr);
- PRIO_IMPL_ITEM find_min() const;
- PRIO_IMPL_ITEM first_item() const;
- PRIO_IMPL_ITEM next_item(PRIO_IMPL_ITEM) const;
- GenPtr key(PRIO_IMPL_ITEM) const;
- GenPtr inf(PRIO_IMPL_ITEM) const;
- void del_min();
- void del_item(PRIO_IMPL_ITEM);
- void decrease_key(PRIO_IMPL_ITEM,GenPtr);
- void change_inf(PRIO_IMPL_ITEM,GenPtr);
- void clear();
- int size() const;
- };