この場合、高を表す「h」や低を表す「l」などの文字の優先度を使用して、優先キューを実装できますか?
struct node {
int data;
char c;
struct node *next;
};
この場合、高を表す「h」や低を表す「l」などの文字の優先度を使用して、優先キューを実装できますか?
struct node {
int data;
char c;
struct node *next;
};
あなたがそれをすることができる間。マジックナンバーではなく、単に意味のある名前を優先順位に使用したいと思います。
列挙型の使用を検討することをお勧めします。
enum QueuePriority
{
HIGH,
MEDUIM,
LOW
};
struct node
{
int data;
enum QueuePriority priority;
struct node *next;
};
これには、カスタム比較関数/演算子を作成する必要がないという利点があります。組み込みは、列挙値が正しい順序である限り機能します。
(私はHIGH == 0
いくつかのシステムの慣習としてそれらを持っていますが、あなたはそれを簡単に逆にすることができます)。