0

Can we use character priorities like 'h' for high or 'l' for low in this case and use it to implement a priority queue?

struct node {
int data;
char c;
struct node *next;
};
4

1 回答 1

1

虽然你可以做到这一点。我假设您只是想为优先级使用有意义的名称而不是幻数。

您可能需要考虑使用枚举:

enum QueuePriority 
{
  HIGH,
  MEDUIM,
  LOW
};

struct node
{
  int data;
  enum QueuePriority priority;
  struct node *next;
};

这样做的好处是不必创建自定义比较函数/运算符。因为只要枚举值的顺序正确,内置就可以。
(我HIGH == 0按照某些系统中的惯例使用它们,但您可以轻松地扭转它)。

于 2013-02-26T16:37:22.417 回答