Example #1
0
        // Adds a key-value pair to the hash table
        // If the key is already present in the table this method does nothing
        public void Add(char Key, int[] Value)
        {
            if (Get(Key) != null)
            {
                return;
            }
            int        HashedKey = Key % 256;
            BMHashItem HI        = new BMHashItem();

            HI.Shifts = new int[Value.Length];
            HI.Key    = Key;
            HI.Shifts = Value;
            if (Items[HashedKey] == null)
            {
                Items[HashedKey] = new BMHashItem[1] {
                    HI
                }
            }
            ;
            else
            {
                BMHashItem[] NewItems = new BMHashItem[Items[HashedKey].Length + 1];
                Items[HashedKey].CopyTo(NewItems, 0);
                NewItems[Items[HashedKey].Length] = HI;
                Items[HashedKey] = NewItems;
            }
            Count++;
        }
Example #2
0
		// Adds a key-value pair to the hash table
		// If the key is already present in the table this method does nothing
		public void Add(char Key, int[] Value)
		{
			if (Get(Key) != null)
				return;
			int HashedKey = Key % 256;
			BMHashItem HI = new BMHashItem();
			HI.Shifts = new int[Value.Length];
			HI.Key = Key;
			HI.Shifts = Value;
			if (Items[HashedKey] == null)
				Items[HashedKey] = new BMHashItem[1] {HI};
			else
			{
				BMHashItem[] NewItems = new BMHashItem[Items[HashedKey].Length+1];
				Items[HashedKey].CopyTo(NewItems, 0);
				NewItems[Items[HashedKey].Length] = HI;
				Items[HashedKey] = NewItems;
			}
			Count++;
		}