0

私は C++ に非常に慣れていないため、キューの作成方法についてかなり混乱しています (最初の宿題)。

コンストラクターの場合、Queue の長さを受け入れることになっています。キューの長さは、フィボナッチ数でない場合、指定された長さよりも大きい最も近いフィボナッチ数でなければなりません。(例: コンストラクターで 10 を指定した場合、長さを 13 にします)。

現在、キューを配列として実装しています。ヘッダーのプライベート部分に次のようなものint queueContents[];を用意し、コンストラクターで最も近いフィボナッチ数に設定する必要がありますか?

ファイル全体で使用するように宣言し、コンストラクターでその長さを設定するにはどうすればよいですか?

4

2 に答える 2

1

グローバル変数でサイズを追跡します (効率のためにサイズを大きくする必要がある場合)。

ArrayQueue(int sz) 
{
   size = getFib(sz);
   queueContents = new int[size];
   //set front and back to initial value   
}

getFib(int sz) {...}

はい、グローバル変数が必要ですint *queueContents。(ポインタ優先)。

さらに質問をお気軽に。私は最近、基本的な配列ベースのキューもコーディングする必要があったので、(願わくば) どんな質問にも答えられると思います。:)

于 2013-10-30T03:34:24.773 に答える
0

最も近いフィボナッチ数を計算してから変数capacityを用意し、キューに挿入するたびに、これが容量を超えているかどうかを確認できます..

于 2013-10-30T02:22:03.877 に答える