Хелпикс

Главная

Контакты

Случайная статья





Удаление элемента из хэш-списка.



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 с

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.