ハッシュ関数と線形プロービングアルゴリズムに問題があります。ここに私が持っているものがあります。これは、クラス分けのためのものです。ここでは、ハッシュアルゴリズムを使用して、先月に販売された在庫パーツとその数量のリストを作成するプログラムを作成する必要があります。ハッシュリストを作成した後。ユーザが棚卸商品を検索し、販売数量を報告することを可能にする簡単なメニュー駆動型プログラムを書く。私はこのプログラムを書くことを誰にも求めていませんが、私は自分の機能を作るために何か助けが必要です。建設的なアドバイスとフィードバックをありがとう。 :D:Dハッシングとリニアプロービング
#include<iostream>
using namespace std;
int main()
{
int Partnumber[15] = {112,130,156,173,197,150,166,113,123,143,167,189,193,117,176};
int Quantitynumber[15] = {12,30,56,17,19,50,66,13,12,14,16,18,19,11,76};
int hashTable[19][2];
int collisions = 0;
for(int i = 0; i<15; i++)
{
index = (Partnumber[i] % 19);
hashTable[index] = Partnumber[i];
if (hashTable[index] != 0)
{
do {
index++
} while(hashTable[index]!=0)
}
if (index >= sizeOf(hashTable))
index=0;
else hashTable[index] = Partnumber[i];
}
return 0;
}
あなたのactaulの問題は何ですか? – chikuba
ハッシュテーブルは2D配列ですが、常に1Dとして参照しています。どうして? hashTable [index]をasigningした直後に、それが0であるかどうかをチェックします(これは保証されていません)。少なくとも一貫したインデントが役立つでしょう。 –
ええ、私はハンター氏がこれ以上いくつか作業し、結果を数時間で返すことに気づいた。ありがとう – jwill22