📄 queue.h
字号:
#ifndef QUEUE_H
#define QUEUE_H
typedef enum {
UDEF = 0,
FIFO,
LIFO,
INCR, // INCREASE
DECR // DECREASE
} QRULE;
class ELEMENT {
friend class QUEUE;
public:
ELEMENT() { _construct(); }
virtual ~ELEMENT() { _destruct(); }
QUEUE *get_container();
ELEMENT *get_prev();
ELEMENT *get_next();
void set_key( real64 k1 = 0, real64 k2 = 0, real64 k3 = 0, real64 k4 =0 );
private:
void *_data;
int _construct();
int _destruct();
};
class QUEUE {
public:
QUEUE( QRULE r0 = FIFO ) { _construct( r0 ); }
virtual ~QUEUE() { _destruct(); }
int set_rule( QRULE r1 = UDEF, QRULE r2 = UDEF, QRULE r3 = UDEF, QRULE r4 = UDEF );
int insert( ELEMENT *element );
int remove( ELEMENT *element );
void reset_meter();
void clear();
ELEMENT *pop_head();
ELEMENT *get_head();
ELEMENT *get_tail();
uint32 get_length();
uint32 get_minlen();
uint32 get_maxlen();
real64 get_avglen();
private:
void *_data;
int _construct( QRULE r0 );
int _destruct();
int _requeue();
int _compare_key( real64 *nxtkey, real64 *newkey, uint08 *rule, uint08 level );
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -