![]()
|
|||||||
Удаление элемента из хэш-списка. ⇐ ПредыдущаяСтр 2 из 2 else if (k < (**d).Key) Udaldr (&((**d).Left),k); else if (k > (**d).Key) Udaldr (&((**d).Right),k); else { q = d; if ((**q).Right == NULL) *d = (**q).Left; else if ((**q).Left == NULL ) *d = (**q).Right; else U_d (&((**q).Left),&(*q)); } }
void Spisok::U_d(node **r, node **q) { if ((**r).Right == NULL) { (**q).Key = (**r).Key; (**q).Count = (**r).Count; q = r; *r = (**r).Left; delete (*q); } else U_d (&((**r).Right),&(*q)); }
void main() { Spisok A; int klutch; unsigned hash;
A.BuildTree(); cout << "\n Содеpжимое хэш-списка..."; cout << "\n -----------------------------------"; A.Sodergimoe(); //Удаление элемента из хэш-списка. for (int i=0;i<4;i++) //Будем удалять всего 4 pаза! { cout << "\nВведите значение удаляемого ключа..."; cin >> klutch; hash = klutch % 10; A.Udaldr (A.GetTree(hash),klutch); cout << " Содеpжимое хэш-списка...\n"; cout << " ----------------------------------\n"; A.Sodergimoe(); } }
ЗАДАНИЕ: 1) Осуществить изучение материала путем реализации приведенных примеров кода. 2) Написать доклад на тему «хе(э)ширование и его применение» Источники: 1) [ЭЛЕКТРОННЫЙ РЕСУРС]: Кафедра ПОАС КГУ; режим доступа: http://it.kgsu.ru/). 2) Вирт H. Алгоритмы + структуры данных = программы. - М.: Мир, 1985. - 406 с
|
|||||||
|