З для початківців

List (); //Прототип деструктор: у деструкторі звільнимо пам'ять

1. Витік пам'яті void List::Show(int temp)

Node *tempHead= Head;//Саму голову чіпати не треба //замість ///Node *tempHead=new Node; //// tempHead=Head; // Саму голову чіпати не треба

2. Не зрозумів сенсу функції Show(int), переданий параметр затирається кількістю у списку. Так краще не робити. Пояснювати не буду, але мінуси – стиль, плутанина для іншого програміста, швидкодія.

temp = size; //Тимчасова змінна дорівнює кількості елементів у списку Краще зробити так void List::Show(void) int temp=size;

1 пункт виправив. 2 пункт я поясню. тут немає значення те, що змінна затирається. Так як в момент виклику функції всередину функції передається параметр, а сама функція приймає цей параметр як звичайну змінну (не як покажчик або посилання), то всередині функції створюється локальна копія змінної, що є аналогом того, що ви написали в пункті 2. У будь-якому випадку змінна поза функцією, яку ми віддаємо всередину функції роботою функції не зміниться.

а як додати в кільцевий однозв'язок фіктивний елемент, що виконує роль бар'єру, між початком і кінцем списку?

я зараз не можу відповісти на це запитання. 🙁

Можна видалення пробувати так

Item* List::deleteAfter(Item* sought_item) Item* tmp = sought_item->Next; sought_item->Next = tmp->Next; if(tmp == Head) Head = sought_item->Next; if(tmp == Tail) Tail = sought_item->Next; delete tmp; size-; return sought_item->Next; >

Дякую. я згодом подивлюся.

Здрастуйте, хотіла запитати, а видалення та пошук потрібного елемента як робитися, у мене з цим проблеми.

і вам зараз відповісти не зможу.

я сам не особливо в них знаюся.