Ejemplo n.º 1
0
 static void Main(string[] args)
 {
     List list = new List();
     int whatDo = -1;
     while (whatDo != 0)
     {
         Console.WriteLine("0 - exit");
         Console.WriteLine("1 - add element to tail");
         Console.WriteLine("2 - add element to head");
         Console.WriteLine("3 - add element to position");
         Console.WriteLine("4 - delete element");
         Console.WriteLine("5 - exist element");
         whatDo = Convert.ToInt32(Console.ReadLine());
         if (whatDo == 1)
         {
             Console.WriteLine("Enter number for add - ");
             int newNum = Convert.ToInt32(Console.ReadLine());
             list.AddElement(newNum);
         }
         if (whatDo == 2)
         {
             Console.WriteLine("Enter number for add - ");
             int newNum = Convert.ToInt32(Console.ReadLine());
             list.AddElementToHead(newNum);
         }
         if (whatDo == 3)
         {
             Console.WriteLine("Enter number for add - ");
             int newNum = Convert.ToInt32(Console.ReadLine());
             Console.WriteLine("Enter number position to add - ");
             int numPos = Convert.ToInt32(Console.ReadLine());
             list.AddElementToPosition(newNum, numPos);
         }
         if (whatDo == 4)
         {
             Console.WriteLine("Enter number for delete - ");
             int deleteNum = Convert.ToInt32(Console.ReadLine());
             list.DeleteElement(deleteNum);
         }
         if (whatDo == 5)
         {
             Console.WriteLine("Enter number for exist - ");
             int existNum = Convert.ToInt32(Console.ReadLine());
             if (list.Exist(existNum))
                 Console.WriteLine("{0} exist", existNum);
             else
                 Console.WriteLine("{0} not exist", existNum);
         }
         
         list.Print();
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Function to change hash function without delete elements
 /// </summary>
 /// <param name="func"></param>
 public void ChangeHashFunction(HashFunctionInterface func)
 {
     List[] temp = new List[bucket.Length];
     for (int i = 0; i < bucket.Length; i++)
         temp[i] = new List();
     
     for (int i = 0; i < bucket.Length; i++)
     {
         while (!bucket[i].IsEmpty())
         {
             temp[func.Function(bucket[i].ValueHead()) % temp.Length]
                 .AddElementToHead(bucket[i].ValueHead());
             bucket[i].DeleteElement(bucket[i].ValueHead());
         }
     }
     hashFunction = func;
     bucket = temp;
 }
Ejemplo n.º 3
0
 // Initialize bucket.
 private void Init(int size)
 {
     bucket = new List[size];
     for (int i = 0; i < size; i++)
         bucket[i] = new List();
 }
Ejemplo n.º 4
0
 public Hash(int size)
 {
     bucket = new List[size];
     for (int i = 0; i < size; i++)
         bucket[i] = new List();
 }