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

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





Node;> data = d;

} {* new_node = new SListNode; _node-> next = head; = new_node;

} + +;

}

Такоже як и у Функції PushBack, тут Можливі два Варіанти: список порожній або в списку Вже є хочай б один вузол.

У разі ЯКЩО список пустий, мі Робимо ті ж самє, что и у Функції PushBack.

Если ж у списку є елєменти, мі Створюємо новий вузол. Полю next нового Вузли прісвоюємо head. А потім міняємо Значення head, щоб ВІН Вказував на новий вузол. p align="justify"> Тепер наш список вміє додаваті Вузли у Кінець и на качан. Крім того, список коректно зніщується помощью деструктора. Непогано Було б мати можлівість відаляті Вузли Зі списку во время Виконання програми. У рамках класу SLinkedList Ми можемо ВИДАЛИТИ елєменти з качана І з кінця. Видалений ЕЛЕМЕНТІВ Із середина, у даним класі реалізуваті Неможливо. Тому видалений ЕЛЕМЕНТІВ з середини списку ми розглянемо пізніше, коли будемо розглядаті ітераторі. p align="justify"> Функція видалений Першого елемента списку

SLinkedList: PopFront () {(count! = 0) {* temp = head; = head-> next; temp; -; (head == NULL)// у списку БУВ один елемент

}


Відаляті елемент має сенс, ЯКЩО списку не порожній. Тому ми перевіряємо змінну count. p align="justify"> У Функції вікорістовується тимчасова змінна, так само як у деструкторі. Тільки у даним випадка нам нужно ВИДАЛИТИ Тільки один елемент. Потім ми зменшуємо кількість ЕЛЕМЕНТІВ у змінній count. p align="justify"> Если в списку БУВ один елемент (head == tail == В«коректний адресиВ», а поля head-> next == tail-> next == 0), нам нужно Изменить Значення покажчика tail.

Метод видалений последнего Вузли списком.

Ця функція складніше попередньої. Мі не можемо просто так ВИДАЛИТИ вузол, на Який вказує tail. tail нужно пересунуті на один елемент тому. Для того щоб дізнатіся адресою передостаннього елемента нам нужно В«пройтиВ» за всех Вузли від качану списком. p align="justify"> SLinkedList: PopBack () {(count == 1) {tail; = tail = 0; -;

} (count> 1) {* temp = new SListNode; = head; (temp-> next! = tail) temp = temp-> next; temp-> next; - ;

}


Колі в списку один елемент, ми просто відаляємо его, а вказівнікамі head и tail прісвоюємо 0. Звичайний ж не забуваємо и про змінну count. p align="justify"> Если ж у списку больше одного елемента, то ми Створюємо Тимчасова змінну, яка буде В«пробігатіВ» всі елєменти. Такі змінні назіваються ітераторамі. У деструкторі, до речі, теж БУВ ітератор. Альо про ітератор пізніше. p align="justify"> Тимчасова Вузли ми прісвоюємо адресою Першого елемента списку. Далі у ціклі відбувається перевірка поля next Тимчасового Вузли з адресою последнего Вузли tail. Цикл Припін Виконувати, коли Тимч...


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





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

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