using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace HashClassesProject
{
public partial class Form1 : Form
{
HashOpenAddress hashTable;
int collisionNum;
public Form1()
{
InitializeComponent();
collisionNum = 0;
hashTable = new HashOpenAddress(5);
}
void LoadTable(string fileName)
{
if (File.Exists(fileName) == false)
{
MessageBox.Show(«Файл не найден: » + fileName);
return;
}
StreamReader reader = new StreamReader(fileName);
string tempStr;
collisionNum = 0;
while (!reader.EndOfStream)
{
tempStr = reader.ReadLine();
collisionNum += hashTable.Add(tempStr);
}
}
private void button1_Click(object sender, EventArgs e)
{
this.hashTable.Clear();
this.LoadTable(Directory.GetCurrentDirectory() + «\\words.txt»);
this.outTextBox.Text = hashTable.ToString();
this.outTextBox.Text += «\n\nЧисло коллизий: «+collisionNum;
}
}
}
Файл words.txt содержит:
cat
dog
house
car
letter
dictionary
exam
class
test
Прога выдает:
214 : class
210 : exam
232 : test
203 : dog
213 : car
222 : letter
205 : house
215 : cat
221 : dictionary
Число коллизий: 38