#39;язаних Списків ми будемо зберігаті Значення типом IceCream.
Клас В«ВузолВ» SListNode
Кожний вузол однозв язного списку Складається з двох змінніх. У першій зберігається значення. Друга представляет Із собі вказівнік на Наступний вузол.
Найпростішій список можна реалізуваті помощью Всього позбав одного класу, Який буде представляті Вузли:
SListNode// SListNode - назва класу, что представляет
{//вузол однозв язного списку: data;// змінна В«КомбоВ» зберігає данні Вузли * next;// вказівнік на Наступний вузол списку
};
Клас зберігає змінну типу В«МорозивоВ» и вказівнік на Наступний вузол (вузол - node).
При цьом мі Створюємо вказівнік на перший вузол и через нього отрімуємо доступ до всіх Наступний вузлів.
Для реалізації однозв'язного списку, нам Знадоби три класи. Перший буде представляті Вузли списку (мі Вже начали его писати - SListNode), другий - сам однозв'язній список (SLinkedList) а Третій - ітератор переліку (SListIterator). p align="justify"> Додамо конструктор до класу Node, Який буде ініціалізуваті поля класу:
: SListNode (void) {d (SemiCircle (MyPoint (0,0), 0,0), SemiCircle (MyPoint (0,0), 0,0), MyLine (MyPoint (0, 0), MyPoint (0,0)), MyLine (MyPoint (0,0), MyPoint (0,0))); = d; = 0;
}
Тут все просто, полю data, Яке зберігає Значення Вузли, прісвоюється екземпляр класу IceCream. А полю next, в якому зберігається вказівнік на Наступний вузол, прісвоюється 0. p align="justify"> Крім конструктора, в класі Node буде одна функція. Назвемо ее InsertAfter (Вставити после). Ее Завдання буде вставка нового елемента списку после потокового:
SListNode: InsertAfter (Combo d) {* new_node = new SListNode;// Створюємо вказівнік на вузол._node-> data = d;// Заповнюємо поле data._node-> next = next ;// Заповнюємо поле next. Цьом полю прісвоюємо
// Значення поля next потокового елемента = new_node;// Міняємо поле next потокового елемента. Тепер, поточний
}// Вузол вказує на новостворене
Функція пріймає один аргумент - значення, Яке буде вставлено в поле data.
вузол, что вставляється винен вказуваті на Наступний, а вказівнік потокового Вузли звітність, направіті на новостворене елемент списку.
На цьом реалізація класу SListNode закінчена. Пріступімо безпосередно до создания списком. p align="justify"> Клас однозв'язного списку SLinkedList
SLinkedList {: * head;// перший елемент списку * tail;// Останній елемент спіскуcount;
};