Связные списки c++ и как с ними обращаться

Не могу разобраться со связными списками. Делаю лабораторную работу(1 курс), есть методичка, которая дает 0 понимания. Почитал гугл, в общих чертах понял смысл, но не могу догнать некоторых моментов:

struct Link
{
   int data;
   Link *next;
};
int main()
{
Link* first = 0;
Link* last = 0;
Link* link = 0;
int k = 1;
link = new Link();
link->data = k;
link->next = 0;
first = link;
last = link;
}

1.Почему и для чего мы создаем 3 указателя (first, last,link) и инициализируем нулем. 2.Зачем мы в последних 2х строчках приравниваем first и last к link? Получается мы в указатель помещаем структуру? 3.Посоветуйте, пожалуйста, годную литературу по этому вопросу.


Ответы (0 шт):