⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 priority_queue.h

📁 国外游戏开发者杂志2003年第七期配套代码
💻 H
字号:
struct Random_Generator;

struct Priority_Queue_Node {
    float priority;
    void *data;
    Priority_Queue_Node *next[1];
};

/*
  If you want reasonably random behavior, you should be sure to seed
  the Random_Generator member of Priority_Queue before you start
  adding items.
*/

struct Priority_Queue {
    Priority_Queue(int num_expected_items, double search_log_factor = 2.7);
    ~Priority_Queue();

    void add(float priority, void *data);
    void *remove_head(float *priority_return, bool *found_return);
    void reset();

    int num_items;
    Priority_Queue_Node *sentinel;

    Random_Generator *random_generator;

    int max_node_height;
    double search_log_factor;

  protected:
    void init_sentinel();

    Priority_Queue_Node *make_node(int *node_height_result);
    Priority_Queue_Node *make_node(int node_height);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -