В вас есть проблема addvertex
метод:
У вас есть:
if (!head)
head = newNode;
else
nodePtr = head;
while(nodePtr->next)
nodePtr = nodePtr->next;
nodePtr->next = newNode;
но оно должно быть:
if (!head) // check if the list is empty.
head = newNode;// if yes..make the new node the first node.
else { // list exits.
nodePtr = head;
while(nodePtr->next) // keep moving till the end of the list.
nodePtr = nodePtr->next;
nodePtr->next = newNode; // add new node to the end.
}
Также вы не являетесьсоздание поля next
для newNode
NULL
:
newNode = new ListNode;
newNode->name = vName;
newNode->next= NULL; // add this.
Хорошей практикой также является освобождение динамически выделяемой памяти.Поэтому вместо пустого деструктора
~TCSGraph();
вы можете освободить список в dtor.
РЕДАКТИРОВАТЬ: больше ошибок
У вас естьпропавший без вести;после объявления класса:
class TCSGraph{
......
}; // <--- add this ;
Также ваш деструктор только объявлен.Там нет определения.Если вы не хотите давать никакой защиты, у вас должно быть хотя бы пустое тело.Поэтому замените
~TCSGraph();
на
~TCSGraph(){}