私はしばらくJavaをやっていて、Cでキューまたは同様の構造を作成する簡単な方法があるかどうか疑問に思っていますか? 必要なときに内容を削除し、内容を最後に追加できるバッファを作成する必要がありますか?
5 に答える
Java のバックグラウンドを持っている場合、C++ はプレーンな C よりも類似性が高いことがわかります。C++ 標準テンプレート ライブラリには、既にQueue クラスがあり、これは可能な限り最も効率的な Queue である必要があります。 C または C++ で実装します。
この一連のデータ構造を使用して、結果に満足しています。
http://troydhanson.github.io/uthash/utlist.html
ヘッダー ファイルでマクロを使用するアプローチにより、非常に軽量で簡単にプロジェクトに組み込むことができます。
C には、キュー、リスト、またはマップの組み込みサポートはありません。サードパーティのライブラリを見つけるか、自分で作成する必要があります。
基本的には自分で書くか、インターネットで実装を探す必要があります。Java と比較すると、C 標準ライブラリは非常に限られています。
一方、このような基本的なデータ構造の実装は非常に簡単で、効率的な実装に関するドキュメントが多数あります。
Linux または BSD (MacOS を含む) を使用している場合は、#include <sys/queue.h>
.
こちらもご覧ください
Windows を使用している場合は、ヘッダーをコピーして編集し、独立させることができます (必要な場合)。