Не стесняйтесь редактировать заголовок, иногда вместо справки английский может запутаться.
Я должен сделать (, и нет, я не могу изменить, так оно и должно быть ) простой связанный список. НЕТ, я не могу использовать STL или std :: list .Большая часть этого делается на бумаге, но у меня, похоже, есть проблема с реализацией очень простого курсора.
Это мой узел в списке (часть его):
struct Node {
int ap_nr;
Node *next;
};
Я хочу пройти по списку в моей функции добавления узла:
void add_node (Node **begin, int ap_nr)
{
stuff happens
}
Вот как я вызываю функцию:
add_node(&(*begin), ap_nr);
Я хочу создать курсор, который начинается с начала (глава моего списка) и проходит через каждый узел, используя cursor->next
, пока я не достигну конца (while (cursor->next!=0))
, но я не могу просто сказать:
Node *cursor;
cursor = new Node;
cursor = begin;
Потому что это простоперезаписать курсор с начала, делая мою попытку недействительной.Мне все еще нужно сделать указатель, чтобы начать и иметь возможность вызывать функцию STRUCT "-> далее"
Как я могу это сделать?
* ТАКЖЕ * Какя могу вспомнить предыдущий узел?я могу сделать это:
Node *previous;
previous = new Node;
previous = &(*begin); // ?