0

この場合、高を表す「h」や低を表す「l」などの文字の優先度を使用して、優先キューを実装できますか?

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 に答える