Пример #1
0
        //
        // Workshop methodes
        //
        virtual public bool Add(NAW naw)
        {
            /*-Als	deze	plek	al	bezet	is	ga	je	via	linear	probing op	zoek	naar	de	eerstvolgende
             *  geschikte index.
             * -De	methode	retourneert	een	boolean	die	aangeeft	of	het	element	geplaatst	kon
             *  worden.
             * -Het	is	toegestaan	om	meerdere	NAW		objecten	met	dezelfde	naam	(een dus	key)
             * toe	te	voegen.*/

            int newHash = naw.Naam.GetHashCode(); //Something something % modulo

            if (_array == null)
            {
                _array = new Alg1HashItemArray(10);
            }
            int index         = Math.Abs(newHash % Size);
            int originalIndex = index;

            HashItem newItem  = new HashItem(naw.Naam, naw);
            bool     inserted = false;

            while (!inserted)
            {
                if (_array.Size == _used)
                {
                    break;
                }
                if (_array[index] == null || _array[index].IsDeleted)
                {
                    _array[index] = newItem;
                    _used++;
                    inserted = true;
                }
                if (index >= _array.Size - 1)
                {
                    index = 0;
                }
                else
                {
                    index++;
                    if (originalIndex == index)
                    {
                        break;
                    }
                }
            }
            return(inserted);
        }
Пример #2
0
        //
        // Hulp methodes, deze moet/mag je niet wijzigen of weggooien
        //

        public NawHashTable(int size)
        {
            _array = new Alg1HashItemArray(size);
            Size   = size;
        }
Пример #3
0
        //
        // Hulp methodes, deze moet/mag je niet wijzigen of weggooien
        //

        public NawBucketHashTable(int size)
        {
            _array = new Alg1HashItemArray <string, List <NAW> >(size);
            Size   = size;
        }