このコードで何が問題なのか分かりません。しかし、私は出力としてすべての望ましい値を得ていません。このコードで私を助けてください。リニアプロービング。このプログラムで何が問題になっていますか?
public class LinearProbing{
public static void main(String[] args) {
int[] arr = new int[13];
int[] inputs = {18,41,22,44,59,32,31,73};
int element = inputs[0] % 13;
for (int i = 0, j = 0; i < 13;i++) {
if(arr[element] != 0){
element++;
continue;
}
arr[element] = inputs[j++];
element = inputs[j]%13;
}
for (int i = 0; i < 13; i++) {
System.out.print(arr[i]+" ");
}
}
}
私が欲しいの出力は次のようになります。
0 0 41 0 0 18 44 59 32 22 31 73 0
と私は取得しています出力は次のようになります。
0 0 41 0 0 18 44 59 32 22 0 0 0
:あなたは
arr
配列のオーバーフローのために余分なガード条件を追加し、これにコードをリファクタリングすることができますので、if (...) { ...; continue; }
文は、本当にwhile (...) { ... }
ループのですか?何が間違っているのですか? – Tunaki現在の成果は何ですか?達成したいことは何ですか? –
私は、ハッシュテーブルを実装し、衝突解決テクニックを適用しています。出力を表示するために質問を編集しました。 –