// // 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); }
// // Hulp methodes, deze moet/mag je niet wijzigen of weggooien // public NawHashTable(int size) { _array = new Alg1HashItemArray(size); Size = size; }
// // Hulp methodes, deze moet/mag je niet wijzigen of weggooien // public NawBucketHashTable(int size) { _array = new Alg1HashItemArray <string, List <NAW> >(size); Size = size; }