0

私の「母国語」は Java で、教育目的で C でプロジェクトを作成する必要があります。queue.h私は図書館を理解しようとします。Java では、デフォルトadd()で の最後にアイテムを配置しますが、他のメンバーを受け入れないマクロのみがありListます。実際、小さなテストでは、HEAD に挿入されることが示されています (トラバースすると、最後に挿入された要素から最初に挿入された要素に移動します)。では、これを FILO キュー (つまりスタック) と呼ぶべきではないでしょうか。queue.hLIST_INSERT_HEADLIST_FOREACH

4

3 に答える 3

0

によって提供される多数のキュー オプションがありますqueue.h

これはすべてプリプロセッサによって行われ、ファイルのフル パスがsrc/sys/sys/queue.hすべての BSD システム上にあることにも注意してください。つまり、内部構造のためにカーネル内で頻繁に使用されることを意味し、各バリアントは効率と最小メモリのために高度に最適化されています。フットプリント。

OpenBSD では、キューを選択するための選択肢がいくつかあるようです (各 BSD システムでは、ここでの選択がわずかに異なる場合があります)。

* いずれにせよ、現在のところ、6 つの選択肢のうち 4 つだけが公式にマニュアル ページに記載されているようです。参照: http://bxr.su/o/share/man/man3/queue.3

キュー/リストに参加できるようにしたい場合INSERT_TAILでも、ここから選択できるオプションがたくさんあります - SIMPLEQXSIMPLEQTAILQおよびCIRCLEQ.

つまり、要約すると、名前によるキュー/リストの実装がLIST末尾の挿入を許可する必要があるという法律はありません!

于 2015-10-01T09:51:16.477 に答える