2011-07-28 4 views
2

私は保持しなければならない一連の構造体(オーディオデータ)を持っていますが、メモリの制約のために限られた量しか保持できません。私はこれを行う最善の方法はキューを使用していると思います。私が私の大学のクラスの私のあいまいな思い出に基づいてこれを行ったなら、私はポインタでリンクされたリストを作成します。私は新しいアイテムをキューに押し込み、古いアイテムをポップしてそのメモリを解放します。Cの構造体のキューを管理する最善の方法は何ですか?

このキューを管理するために使用するCライブラリがあり、ホイールを再開発する必要はありませんか?

+0

このスレッドをチェック:http://stackoverflow.com/questions/305611/container-class-library-for-c – Mahesh

+0

私はこれのためのキューの使用に質問します。キューに3つのアイテムがある場合はどうなりますか?サウンドA、B、Cをロードします。今度はAをさらに3回使用します。 Aが最も頻繁に使用され、最近使用されています。しかし、今度はサウンドDをロードします。これはAをキューから押し出すでしょう。それはあなたが望む行動ですか? (または質問を理解していないのですか?) – Marvo

+0

@Marvo:置換ポリシーがFIFO/LIFOの場合、リンクリストは大丈夫です。 – akappa

答えて

2

GLibには、Cで実装されたデータ構造の優れた文書化されたコレクションがあります。

1

C++を使用できる場合は、標準ライブラリにstd :: listがあります。

0

cacheは、queueではありません。

関連する問題