0
最近データ構造について学び始めました。私は本によると、二次探査法を使用してハッシュテーブルを書いた。コードは次のとおりです。このハッシュテーブルの要素が期待どおりにソートされないのはなぜですか?
私はそれを数回確認した後、データを追加しました。私はハッシュテーブルが順序付けられていないが、その中の要素は特定の順序でなければならないと思う。
まず、データの次のセットが試験される:
public class MainTest {
public static void main(String[] args) {
HashTable<Integer> table = new QuadraticProbingHashTable<>();
for (int i = 60; i <= 90; i++) {
table.add(i);
}
System.out.println(table);
}
}
、これはソートされている結果である:
[60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90]
そしてIは、第一の試験DATAS 10を添加し、再度試験しました:
public class MainTest {
public static void main(String[] args) {
HashTable<Integer> table = new QuadraticProbingHashTable<>();
// for (int i = 60; i <= 90; i++) {
for (int i = 70; i <= 100; i++) {
table.add(i);
}
System.out.println(table);
}
}
しかし、結果は次のようになりました。
[97, 98, 99, 100, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96]
これは混乱しています。
私が書いたコードに問題があるか、その他の理由があるかどうかはわかりません。誰かが私のためにそれをチェックできますか?私はちょうどデータ構造に触れました。
作業を開始したら[codereview.se]に投稿してください。ここには無関係なコードがたくさんあるようです。 –