2012-01-09 3 views
0

プログラムは最初にいくつかのオブジェクトに対していくつかの変更を行います。しかし、この変更によってオブジェクトには追加の作業が必要になります。オブジェクトがほんの少数の場合、それは大きな問題ではありません。しかし、彼らがかなりたくさんいるとき、私はプログラムが仕事を必要とするオブジェクトを探し始めるのを望んでいません。C++(アルゴリズム)を行うことを暗記する

代わりに、追加の作業と作業の種類が必要なオブジェクトを暗記するようにします。考え方は、プログラムを最初に検索してから分析するのではなく、オブジェクトに対してすぐに作業を開始させることです。

追加作業は最初の変更と一緒に行うことができますが、それは問題を引き起こす可能性があります。

私は2つのアイデアがあります:必要な作業に関するすべての必要なデータが格納されている文字列変数を使用するか、配列を使用します。しかし、より良いアルゴリズムがあるかどうかはわかりません。

私は、プログラムがこれを行うためのより良いアルゴリズムまたは別のアルゴリズムに関する提案を求めています。

答えて

2

A.キューまたはアレイ、または「作業する」タスクまたはタスクのリストを持つことができます。
B.オブジェクトを変更するときは、関連するタスクの説明とともにキューに追加します。
C.アルゴリズムの最初の部分を終了したら、キューに移動してタスクを実行します。
D.これは本当に難しい原因で眠りにつきます( - :

+0

私の2番目のアイデアと同じです。タスクを変数に変換するアルゴリズムを考える必要があるようですが、その後、プログラムはどのオブジェクトをどのように使うのかを知るために変数を読み込みます。 – AlexSavAlexandrov

1

私は、オブジェクトと作業の種類を識別する構造のキューを作成します。そのような場合は、キューよりも複雑なものが必要です。たとえば、ハッシュテーブルを使用して、オブジェクトを複数回追加しないでください。

関連する問題