C++ Advanced, Task07_05_Linked_List - защо ни е Node * prev? И къде бъркам в деструктора?
Здравейте,
не мога да разбера защо имаме тук и пойнтери назад, това възможност за обрато обхождане ли е? Повечето реализации, които намерих са с пойнтери с връзка само за напред, защо ни трябват и за назад?
Kak да разпиша деструктора, kъде бъркам тук или е правилно разписан?
List::~List() {
if (!this->size != 0) {
Node * tempH = this->head;
this->tail = NULL; // Toва зануляване тук вярно ли е? , мисля че е nullptr this->tail за първия елемент ??
Node * tempT = this->tail;
while (tempH->getNext() != NULL) {
tempT = tempH;
tempH = tempH->getNext();
delete tempT;
}
delete tempH;
}
//имаме:
class Node {
private:
int value;
Node * prev;
Node * next;
и полета на клас List:
Node * head;
Node * tail;
size_t size;
Поздрави!