Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Об'єктно-орієнтоване програмування

Реферат Об'єктно-орієнтоване програмування





stify"> У списку будуть зберігається три змінні. Два вказівнікі на Вузли: на перший (head) i на Последний (tail) i змінна цілого типу count, в якій буде зберігатіся кількість ЕЛЕМЕНТІВ (вузлів) зв'язного списку. p align="justify"> Деструкція списку:

: ~ SLinkedList () {* delNode = head; * temp; (delNode! = 0) {= delNode-> next; delNode;

}

Необхідність деструктора обумовлена ​​тим, что при зніщенні класу SLinkedList, такоже звітність, зніщіті и ВСІ об'єкти класу SListNode, Які є Вузли списком. Альо между цімі класами немає ніякого зв'язку, и автоматично Вузли НЕ зніщаться. У результаті чого может вінікнуті вітік пам'яті. p align="justify"> У Функції нам необхідні два вказівніка на Вузли: який ми будемо поза відаляті, и вказівнік на Наступний вузол, щоб НЕ загубітіся.

У ціклі Йде перевірка Значення потокового елементами списку. Если у вказівнікові містіться 0, значити список скінчівся. p align="justify"> Если у списку ще є Вузли, то ми зберігаємо вказівнік на Наступний вузол у Тимчасова вузлі temp. Потім відаляємо поточний вузол операцією delete. Тепер ми не можемо вказаті на Наступний вузол помощью потокового Вузли:> next;// цею коду не працює! p align="justify"> Пам'ять віділену под delNode ми Вже відпустілі, а вказівнік тепер вказує на зовсім іншу область пам'яті. Саме для цього нам и потрібна булу допоміжна змінна temp. Якби ее Не було, ми б Втратили ВСІ наступні Вузли. Тепер вказівніку delNode прісвоюється next и у наступній ітерації циклу всі повторюється. p align="justify"> Метод додавання елемента у Кінець списку

SLinkedList: PushBack (Combo d) {(count == 0) {//У списку немає ЕЛЕМЕНТІВ. = tail = new SListNode;> data = d;

} {//У списку є хочай б один елемент> InsertAfter (d); = tail-> next;

} + +;

}


При додаванні Вузли у Кінець списку, Можливі два Варіанти: у списку зовсім немає ЕЛЕМЕНТІВ або в списку є хочай б один елемент. Ці умови ми перевіряємо за помощью поля count, что зберігає кількість ЕЛЕМЕНТІВ списком. p align="justify"> Так від, ЯКЩО у списку немає ЕЛЕМЕНТІВ, то ми Створюємо новий вузол, а вказівнікамі tail и head прісвоюємо адресою цього елемента.

Если ж у списку є хочай б один елемент, то ми Створюємо вузол после Вузли tail, а потім пересуваємо tail вперед (щоб цею вказівнік Вказував на новий елемент).

звичайна ж, у Функції PushBack нужно НЕ забути збільшити змінну count, так як кількість вузлів збільшілась.

Тепер, коли у нас є функція додавання Вузли у Кінець списку, непогано Було б навчитись наш список додаваті елєменти у качан.

Метод додавання вузлів у качан зв'язного списку

SLinkedList: PushFront (Combo d) {(count == 0) {= tail = new SList...


Назад | сторінка 8 з 14 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Організація списку за допомогою двійкового дерева
  • Реферат на тему: Пам'ятки природи, занесені до списку ЮНЕСКО
  • Реферат на тему: Розробка програми, що реалізує алгоритм двусвязного списку
  • Реферат на тему: Об'єктна реалізація поліморфного контейнера на основі лінійного списку
  • Реферат на тему: Реалізація концепції контейнерів і ітераторів на прикладі односпрямованого ...