[l
eft]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
StreamReader r;
StreamWriter w;
public List<int> sequence;
public int seqsize;
public int hashsize;
public int f;
public void generateInputSeq(int seqsize)
{
Random r = new Random();
sequence = new List<int>(seqsize);
for (int i = 0; i < seqsize; i++)
{
sequence.Add(r.Next(1, 500));
}
}
public void preparing(int hashsize)
{
for (int i = 0; i < hashsize; i++)
{
w = new StreamWriter(i.ToString()+"_"+"0"+".txt");
w.WriteLine("10 ");
w.Close();
}
}
public int gettingHashValue(int key)
{
return key % hashsize;
}
public void insertIn(int index, int key, int offset, int t, string input, int i)
{
string output = "";
output += t.ToString();
while (input != 13)
{
output += input;
i++;
}
output += key.ToString();
output += " ";
w = new StreamWriter(index.ToString()+ "_" +offset.ToString() + ".txt");
w.WriteLine(output);
f = offset;
if (t == 0)
{
offset++;
w.Write(offset.ToString());
w.Close();
w = new StreamWriter(index.ToString() + "_" + offset.ToString() + ".txt");
w.WriteLine("10 ");
}
w.Close();
}
public void hashInsert(int index,int key)
{
int temp;
int k=-1;
int i;
string input, buf;
do
{
buf = "";
i = 0;
k++;
r = new StreamReader(index.ToString()+"_" + k.ToString() + ".txt");
input = r.ReadToEnd();
r.Close();
do
{
buf += input;
i++;
}
while (input != 32);
temp = Convert.ToInt32(buf);
}
while (temp == 0);
insertIn(index, key, k, temp-1, input,i);
}
public void hashing()
{
for (int i = 0; i < seqsize; i++)
{
int hIndex = gettingHashValue(sequence);
hashInsert(hIndex, sequence);
}
}