0

どの構文を使用すればよいかわからないため、速度が最大の問題です。

要素を挿入した後、int 変数を 0 から 3 までインクリメントする必要があります。1 ずつインクリメントします。

プレースホルダーとして使用され、構造に挿入された要素を比較し、必要な場所に取得します。

プレースホルダーが 0 から 3 に移動し、3 から +1 増加すると 0 にループバックする必要があるだけです。

プレースホルダー変数はクラスの属性に格納できます。多くの制限はありません。単純な高速ループ イテレーターが必要なだけです。

これは宿題の質問ではありません。

4

2 に答える 2

1

i = ++i & 3;またはi = ++i % 4;

于 2013-11-04T03:22:47.030 に答える
0

何かが欠けていない限り、算術を使用するだけで何が問題なのですか?

int i = 0;

次に、各挿入で:

i = i + 1;
if (i == 3) i = 0;

または、ブランチなし:

i = (i + 1) % 4;

また、このインクリメント (ブランチ、モジュロなど) は、ボトルネックに関する限り、心配する必要がほとんどないでしょう。実装、プロファイリング、実際のボトルネックを見つけ、そこを最適化します。

于 2013-11-04T03:17:32.267 に答える